除非特定内容如下,否则Java会在点处拆分String

时间:2014-08-26 03:58:48

标签: java regex

这是我的问题:我得到的字符串是“你好。这是我的program.java。” 我想在空格和点处拆分String,但不是“.java”。

现在我有:

String.split("\\s*(\\,|\\.|\\s)\\s*");

所以它看起来像这样: [你好,这是,我的,程序,java]。 我怎么能让它看起来像这样: [你好,这是,我的,program.java]?

我不需要拆分其他文件扩展(我不关心其他扩展,如.exe或类似的东西。只有.java事项

2 个答案:

答案 0 :(得分:1)

添加否定前瞻:"(?!\\.java\\b)\\s*(\\,|\\.|\\s)\\s*"

这说,“在任意数量的空格中分开,后跟逗号或句号或空格,后跟任意数量的空格......除非它匹配.java后跟一个单词结尾。”< / p>

答案 1 :(得分:-1)

它不像

那么简单

inputString.replaceAll(&#34; \ .java&#34;,&#34;&#34;)

然后你可以随意分开&#34; &#34;或&#34;。&#34;。