我试图用一个句号替换两个或更多个句点的任何一组。 我怀疑是+操作员参与其中,但是我只有悲伤试图用这个来表达... 所以我认为作为一个实验,我会尝试用一个周期替换3个周期。 下面的废话是我提出的,当然它不起作用。
OutNameNoExt:= RegExReplace(OutNameNoExt,"\.\.\." , ".")
甚至更好,我可以改变现有的表达方式
OutNameNoExt:= RegExReplace(OutNameNoExt,“[^ a-zA-Z0 = 9_-]”,“。”)
这样它连续不会产生多个句号?
帮助?
答案 0 :(得分:5)
OutNameNoExt:= RegExReplace(OutNameNoExt,"\.{2,}" , ".")
或者,如果不允许使用{n,m}
(即,至少n
但不超过m
次)语法,则可以使用以下内容:
OutNameNoExt:= RegExReplace(OutNameNoExt,"\.\.+" , ".")
或者,您也可以将现有表达式更改为以下内容,以便它不会在一行中生成多个句点:
OutNameNoExt:= RegExReplace(OutNameNoExt,"[^a-zA-Z0=9_-]+" , ".")
答案 1 :(得分:2)
对于Java,以下正则表达式正在尝试用单点替换多个点:
String str = "-.-..-...-.-.--..-k....k...k..k.k-.-";
str.replaceAll("\\.\\.+", ".")
输出:
-.-.-.-.-.--.-k.k.k.k.k-.-