有关String.replaceAll()和String.replaceFirst()方法的问题

doj*_*ojo 1 java string replace

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

  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);
Run Code Online (Sandbox Code Playgroud)

提前致谢.

Bal*_*usC 6

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

String newString = originalString.replaceFirst(moreTag, newContent);
System.out.println(newString);
Run Code Online (Sandbox Code Playgroud)

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

如果仍然没有返回所需的结果,那么moreTag根本就不匹配任何东西.您提到的方法需要正则表达式.您可以在Patternjavadoc中找到如何组成有效的正则表达式模式.