Java 用于删除'的正则表达式-1';从文本文件
我想使用正则表达式从文本文件中删除-1。 我尝试过这个表达式Java 用于删除'的正则表达式-1';从文本文件,java,regex,Java,Regex,我想使用正则表达式从文本文件中删除-1。 我尝试过这个表达式(“-?+[1]”,“)。但是由于文件中有(1)个正的,我不想删除1。此表达式将删除文件中的所有表达式。我对regex不熟悉。有人能帮我吗 我的文本文件如下所示: 2 -1 11 -1 1 -1 11 -1 11 -1 1 -1 11 -1 1 -1 1 -1 11 -1 2 -1 1 -1 11 -1 1 -1 2 -1 11 -1 3 -1 1 -1 11 -1 1 -1 3 -1.... -1的正则表达式就是-1。以此作为论据
(“-?+[1]”,“)
。但是由于文件中有(1)个正的,我不想删除1。此表达式将删除文件中的所有表达式。我对regex不熟悉。有人能帮我吗
我的文本文件如下所示:
2 -1 11 -1
1 -1 11 -1
11 -1 1 -1
11 -1 1 -1 1 -1
11 -1 2 -1 1 -1
11 -1 1 -1 2 -1
11 -1 3 -1 1 -1
11 -1 1 -1 3 -1....
-1的正则表达式就是
-1
。以此作为论据
(正则表达式基于带有通配符样式修饰的字符串文字。)以下技巧将完成此任务
stringObj.replaceAll(“-1”,即“”)
是的,向前看或向后看都不行。如果你想删除
-1
后面的空格(这似乎只在-1
不在一行末尾时存在),如果你想防止意外地将-10
更改为-0
,你可以使用正则表达式,替换为
-1\b ?
使用空字符串
说明:
-1#匹配-1
\b#确保数字在这里结束
[ ]? # 匹配可选的空格字符
测试一下
请注意,您需要在Java中转义反斜杠:
String resultString = subjectString.replaceAll("-1\\b ?", "");
你为什么不直接用它呢。没有真正需要正则表达式。@KevinEsche
String#replace
使用正则表达式,只是这里需要的不是非常复杂的正则表达式:)@Thomas这样做吗?我一直认为String#replaceAll
和String#replaceFirst
是使用正则表达式的唯一替换方法。@Thomas:在内部,是的。但是,如果使用replace()
,在这些简单的情况下更容易避免错误。如果输入中有-10
怎么办?是否要将其更改为0
?或者你能排除这个案子吗?@Keppil。。。对更正。谢谢你指出错误(