0

我一直在尝试解决这个问题,我对 replaceAll 方法做了一些研究,它似乎使用了正则表达式。但我从未听说过任何包含“。”的正则表达式。特点。这是我一直在使用的代码:

System.out.println(parsed[1]);
myStatus = parsed[1].replaceAll("...", " ");
System.out.println("new: " + myStatus);
status.setText(myStatus);

输出结果为:

旧...新字符串:

4

2 回答 2

1

如果要替换文字字符串"..."(三个点),可以:

  • use replace("...", " ")使用正则表达式
  • use replaceAll("\\.{3}", " "),这是您在正则表达式中指定文字点的方式

除非您需要使用replaceAll()(因为您调用的某些实现使用它),否则请使用replace()

编辑:

谢谢路易斯 \\.{3} ( doh \\.\\.\\.!)

于 2012-12-17T01:05:35.893 回答
0

您的通话实际上是在将任意 3 个字符组替换为空格。因此,字符串"old...string"将变为 4 个空格。您需要转义点或定义字符类 量词,因为它们是预定义的字符

就像是

myStatus = parsed[1].replaceAll("[.]{3}", " ");

注意:您可以在此处测试您的 Java 正则表达式。

于 2012-12-17T01:05:54.433 回答