Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 正则带空格连字符_Java_Regex - Fatal编程技术网

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的代码。