正则表达式 - 在char之后查找某个字符串中的数字然后编辑它们?

时间:2014-06-28 02:41:49

标签: java regex

我的目录中有多个文件,文件包含多个字符串,例如:

详情:0 5453 293

详情:1 4223 123

详情:2 8885 231

问题在于,由于我有多个文件,因此每个文件都有不同的细节和不同的数字。

如何更换0,1和2之后的所有数字?

我无法做到:

.replace("详情:0 5453 293","详情:0");

因为我不知道其他文件在0之后有什么数字。

2 个答案:

答案 0 :(得分:1)

您可以将字符串。 replaceAll方法与正则表达式一起使用来执行此操作。

使用Lookaround断言:

String s = "Details: 2 8885 231";
s = s.replaceAll("(?<=^Details: \\d).*", "");
System.out.println(s); //=> "Details: 2"

或使用捕获组:

String s = "Details: 2 8885 231";
s = s.replaceAll("^(Details: \\d).*", "$1");
System.out.println(s); //=> "Details: 2"

答案 1 :(得分:0)

您可以使用regex删除所有4位和3位数字

<强>样品:

String s = "Details: 0 5453 293";
s = s.replaceAll("[0-9][0-9][0-9]+", "");

System.out.println(s);

<强>结果:

Details: 0