Android Java从字符串中删除破折号

Android Java从字符串中删除破折号,android,string,replace,hyphen,Android,String,Replace,Hyphen,这不是一个复制品 也许解决办法就在这里,但我不明白 我必须从字符串中删除al-(破折号),我必须删除“-”和“-”(破折号附近的所有空格) 这不起作用(什么也不做) 想法?您希望破折号周围有所有空格,而您尝试过的正则表达式将删除字符串中的所有空格、破折号和括号。删除连字符及其周围空格的正则表达式为: "[ ]?-[ ]?" 如果要删除任何空白,可以使用\s: "\\s?-\\s?" 这将只删除任何连字符前后最近的空格(因此,如果前面有两个空格,它将只删除一个)。能否提供一个示例,您的预期结果

这不是一个复制品 也许解决办法就在这里,但我不明白

我必须从字符串中删除al-(破折号),我必须删除“-”和“-”(破折号附近的所有空格) 这不起作用(什么也不做)


想法?

您希望破折号周围有所有空格,而您尝试过的正则表达式将删除字符串中的所有空格、破折号和括号。删除连字符及其周围空格的正则表达式为:

"[ ]?-[ ]?"
如果要删除任何空白,可以使用\s:

"\\s?-\\s?"

这将只删除任何连字符前后最近的空格(因此,如果前面有两个空格,它将只删除一个)。

能否提供一个示例,您的预期结果,以及每个空格的实际结果?第一个问题用toclean=toclean.replaceAll(“[\\s\\\-()]”,“”)解决;你错过了任务,这是对的。我不知道我怎么没听到。然而,请注意,正则表达式仍然会删除所有空格,即使它不在连字符旁边。我不知道这是否符合您的要求。请尝试这样做:在我的字符串中,我必须(仅)删除破折号和最近的空格。没有其他符号更新了我的答案。正则表达式现在将删除前后的连字符和最近的空格(如果有)(以前,它将匹配前后的所有空格)。
"\\s?-\\s?"