Java 将点序列替换为一个下划线
我有一根绳子,上面有任意数量的点,有时也有一系列的点 我想将每个Java 将点序列替换为一个下划线,java,regex,string,replace,Java,Regex,String,Replace,我有一根绳子,上面有任意数量的点,有时也有一系列的点 我想将每个(点)替换为.(下划线),但是当有一系列点时,也应该只产生一个下划线 有什么想法吗 我正在使用java。您可以使用replaceall方法,如下所示: str = str.replaceAll("\\.+","_"); 正则表达式的解释\.+ 是一个正则表达式元字符,可以匹配任何内容(新行除外)。因为我们想要匹配一个文本,所以我们用\来转义它。由于Java字符串和正则表达式引擎都使用\作为转义字符,我们需要使用\,+是一个或多个
(点)替换为.
(下划线),但是当有一系列点时,也应该只产生一个下划线
有什么想法吗
我正在使用java。您可以使用
replaceall
方法,如下所示:
str = str.replaceAll("\\.+","_");
正则表达式的解释\.+
是一个正则表达式元字符,可以匹配任何内容(新行除外)。因为我们想要匹配一个文本
,所以我们用\
来转义它。由于Java字符串和正则表达式引擎都使用\
作为转义字符,我们需要使用\
,+
是一个或多个字符串的量词
或者,我们可以使用:
str = str.replaceAll("[.]+","_");
由于字符类中的
是按字面意思处理的,因此不需要对其进行转义。答案不错@Sergiu别忘了,如果这个答案解决了你的问题,你可以(也应该)将它标记为已接受。@Dunaril:我一拿到答案就试着接受它,但我必须等待10分钟,直到我能将它设置为已接受,我不得不离开计算机。