Java 替换字符串中的多个相等字符
一个字符串可以在一行中包含多个空格-我需要用一个空格字符替换多个后续空格。“问题”是我不知道会遇到多少空间。我寻找的函数不仅要替换第一次出现的匹配,还要替换字符串中的所有多个相等字符 我在互联网上搜索了很多,并尝试了正则表达式“X*?(X,零次或多次)”,我在上面找到了“不情愿的量词” 这不起作用:Java 替换字符串中的多个相等字符,java,Java,一个字符串可以在一行中包含多个空格-我需要用一个空格字符替换多个后续空格。“问题”是我不知道会遇到多少空间。我寻找的函数不仅要替换第一次出现的匹配,还要替换字符串中的所有多个相等字符 我在互联网上搜索了很多,并尝试了正则表达式“X*?(X,零次或多次)”,我在上面找到了“不情愿的量词” 这不起作用:s1=s1.replaceAll(“*?”,”) 其中s1=“你好世界”应转换为s1=“Hello World” 非常感谢您的帮助。您可以使用replaceAll()将空白替换为一个空格 String
s1=s1.replaceAll(“*?”,”)代码>
其中s1=“你好世界”代码>应转换为s1=“Hello World”代码>
非常感谢您的帮助。您可以使用replaceAll()
将空白替换为一个空格
String st = "helllo world"
System.out.println(st.replaceAll("\\s+"," "))
Output : helllo world
正如这个答案正确指出的那样,空格的regexp匹配器是\\s+
。但是请记住,s1.replaceAll(“\\s+”,”)
会生成一个新字符串。因此s1将保持不变,您需要将replaceAll的结果分配给一个新变量,以便使用regexp替换。