关于字符串的问题。replaceAll()和字符串。replaceFirst()方法[英] Question about the String.replaceAll() and String.replaceFirst() method

问题描述

我需要对一段字符串做一个简单的字符串替换操作.我遇到了以下问题,希望得到一些建议.

  1. 在我得到的原始字符串中,我可以将 <div class="more"> 之类的字符串替换为其他字符串.
  2. 但是,在同一个原始字符串中,如果我想替换一个很长的字符串,如下所示,它是行不通的.通话后没有任何东西被替换.

<div class="more"><a href="http://SERVER_name/profiles/atom/mv/theboard/entries/related.do?email=xyz.com&amp;ps=20&amp;since=1273518953218&amp;sinceEntryId=abc-def-123-456">More...</a></div>

我试过这两种方法:

originalString.replaceFirst(moreTag, newContent);
originalString.replaceAll(moreTag, newContent);

提前致谢.

推荐答案

你需要掌握替换的结果并进一步使用:

String newString = originalString.replaceFirst(moreTag, newContent);
System.out.println(newString);

解释:Java 中的字符串是不可变的.java.lang.String 的行为方法不会改变内部值.相反,它们将返回修改后的结果.

如果仍然没有返回所需的结果,那么 moreTag 根本没有匹配任何内容.您提到的方法需要一个正则表达式.您可以在 Pattern javadoc 如何组成一个有效的正则表达式模式.

本文地址:https://www.itbaoku.cn/post/978394.html