Java 正则带空格连字符
我无法在连字符前后去掉一个空格。我试过:-Java 正则带空格连字符,java,regex,Java,Regex,我无法在连字符前后去掉一个空格。我试过:- sample.replaceAll("[\\s\\-\\s]","") 和排列都没有用。我不想剥夺所有的空间,也不想剥夺所有的中间空间。我试图基于“解析字符串,但希望消除“-”。任何细节都值得欣赏。[\s\-\s]是一个字符类,与空格后跟-后跟空格不匹配。它匹配任何字符-空格,和-,并将它们替换为空字符串 您可以使用以下选项:- sample = sample.replaceAll("[ ]-[ ]","-"); 或者,甚至String.repl
sample.replaceAll("[\\s\\-\\s]","")
和排列都没有用。我不想剥夺所有的空间,也不想剥夺所有的中间空间。我试图基于
“
解析字符串,但希望消除“-”
。任何细节都值得欣赏。[\s\-\s]
是一个字符类,与空格后跟-后跟空格
不匹配。它匹配任何字符-空格
,和-
,并将它们替换为空字符串
您可以使用以下选项:-
sample = sample.replaceAll("[ ]-[ ]","-");
或者,甚至String.replace
也可以在这里使用。您实际上不需要replaceAll
:-
sample = sample.replace(" - ", "-");
[\s\-\s]
是一个字符类,与空格后跟空格不匹配。它匹配任何字符-空格
,和-
,并将它们替换为空字符串
您可以使用以下选项:-
sample = sample.replaceAll("[ ]-[ ]","-");
或者,甚至String.replace
也可以在这里使用。您实际上不需要replaceAll
:-
sample = sample.replace(" - ", "-");
我只想说出来,[]
是一种很好的方法,可以使文本空间在正则表达式中更可见,并表明它们是有意放在那里的。@m.buettner。。是的,这是一个很好的观点。我宁愿使用\\s
。事实上,我把两者都加上了。:)这是不对等的<代码>\\s
匹配空格、制表符、回车符和换行符。但有时你真的只是想匹配空格字符。我不明白为什么你需要replaceAll
-replace(“-”,“-”)
在这里更好。@A.R.S…是的,你是对的。事实上,这应该被使用。我只是复制粘贴了OP中的代码。我只是想把它扔出去,[]
是一种很好的方法,可以使文本空间在正则表达式中更可见,并表明它们是有意放在那里的。@m.buettner。。是的,这是一个很好的观点。我宁愿使用\\s
。事实上,我把两者都加上了。:)这是不对等的<代码>\\s匹配空格、制表符、回车符和换行符。但有时你真的只是想匹配空格字符。我不明白为什么你需要replaceAll
-replace(“-”,“-”)
在这里更好。@A.R.S…是的,你是对的。事实上,这应该被使用。我只是复制粘贴了OP的代码。