我有以下字符串
string = "Book Your Domain And Get\n \n\n \n \n \n Online Today."
string = str.replace("\\s","").trim();
返回
str = "Book Your Domain And Get Online Today."
但是想要的是
str = "Book Your Domain And Get Online Today."
我尝试了很多正则表达式,也用谷歌搜索但没有运气。并没有找到相关的问题,请帮助,非常感谢提前
答案 0 :(得分:31)
使用\\s+
代替\\s
,因为您的输入中有两个或更多连续的空格。
string = str.replaceAll("\\s+"," ")
答案 1 :(得分:12)
您可以使用replaceAll
作为参数使用正则表达式。似乎你想用一个空格替换多个空格。你可以这样做:
string = str.replaceAll("\\s{2,}"," ");
它将用一个空格替换2个或更多个连续的空格。
答案 2 :(得分:3)
这个问题已经得到解答 -
答案 3 :(得分:2)
首先摆脱多个空格:
String after = before.trim().replaceAll(" +", " ");
答案 4 :(得分:0)
如果只想删除2个单词或字符之间的空格,而不是字符串的末尾 那么这是 我使用过的正则表达式
String s = " N OR 15 2 ";
Pattern pattern = Pattern.compile("[a-zA-Z0-9]\\s+[a-zA-Z0-9]", Pattern.CASE_INSENSITIVE);
Matcher m = pattern.matcher(s);
while(m.find()){
String replacestr = "";
int i = m.start();
while(i<m.end()){
replacestr = replacestr + s.charAt(i);
i++;
}
m = pattern.matcher(s);
}
System.out.println(s);
它只会删除字符或单词之间的空格,而不是结尾的空格 输出是
NOR152
答案 5 :(得分:0)
例如。删除字符串中单词之间的空格:
s
String example = "Interactive Resource";
输出:
System.out.println("Without space string: "+ example.replaceAll("\\s",""));
答案 6 :(得分:0)
如果要打印不带空格的字符串,只需将参数sep =''添加到打印函数中,因为此参数的默认值为“”。
答案 7 :(得分:0)
//user this for removing all the whitespaces from a given string for example a =" 1 2 3 4"
//output: 1234
a.replaceAll("\\s", "")