【问题标题】:error replaceAll() java method错误replaceAll() java方法
【发布时间】:2013-09-03 10:07:38
【问题描述】:

我的文本区域中有这些标签

<gras>.....</gras>

我正在尝试使用 replaceAll() String 方法替换它们

text.replaceAll("<gras>", "<b>");

text.replaceAll("</gras>", "</b>");

但是,这个正则表达式代码不起作用。有什么帮助吗?

【问题讨论】:

  • 您到底想替换什么?只是打开标签?打开和关闭标签?打开和关闭标签以及其中的所有内容?
  • “不起作用”非常模糊。发生什么了?为什么你使用replaceAll(使用正则表达式)而不是replace?
  • 尝试使用\< 和\> 转义操作数。
  • 您是否将返回值分配给任何东西?请记住,字符串在 Java 中是不可变的,它返回修改后的值,而不是就地修改参数。
  • 你能展示你的完整代码吗?

标签: java regex


【解决方案1】:

你忘记了一个非常重要的概念;

。 更改 text.replaceAll("<gras>", "Bold!");

到

text = text.replaceAll("<gras>", "Bold!");

分配text = some Function,因为 text.replace() 正在创建一个新的 String 对象而不是引用它。

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    字符串不会替换。字符串用替换值构造新的字符串。

    另外,如果您正在处理 XML,那么正则表达式是错误的工具。这并不意味着它不能工作,它可能在一些有限的例子中有用,但它不应该是第一个使用的工具。就像在安装螺钉时不应该首先使用锤子一样。

    【讨论】:

      猜你喜欢
      • 2012-01-19
      • 2011-07-08
      • 2022-08-18
      • 2017-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多