Java 删除字母之间的空格和单词之间的双空格
我需要删除字母之间的所有空格,并将双空格变成单词之间的单个空格 所以这个(单词之间的双空格): 我的名字是a m e i s b b b 必须做到这一点: 你好,我叫鲍勃 我试过了Java 删除字母之间的空格和单词之间的双空格,java,Java,我需要删除字母之间的所有空格,并将双空格变成单词之间的单个空格 所以这个(单词之间的双空格): 我的名字是a m e i s b b b 必须做到这一点: 你好,我叫鲍勃 我试过了 temp=“h e l o m y n a m e i s b o b” temp=temp.trim() 但它只是删除了所有的空间 我通过做: temp=temp.replace(“,”) temp=temp.replace(“,”) temp=temp.replace(“.”,”) 但是我想要一种更简单的方法。试
temp=“h e l o m y n a m e i s b o b”
temp=temp.trim()代码>
但它只是删除了所有的空间
我通过做:
temp=temp.replace(“,”)代码>
temp=temp.replace(“,”)代码>
temp=temp.replace(“.”,”)代码>
但是我想要一种更简单的方法。试试这个
temp = temp.trim().replaceAll("(?<!\\s)\\s(?!\\s)", "");
temp = temp.replaceAll("\\s+", " ");
temp=temp.trim()
String yourString = "a s d d g d d d g g";
String finalstr = "";
for (String s: yourString.split(" ")) {
if (s.equals(""))
s = " ";
finalstr += s;
}
System.out.println(finalstr);
输出:asd dgddd gg
您应该使用regex\s(?!\s)。这基本上表示任何有空格但后面没有空格的内容
这将像这样使用:
temp = "h e l l o m y n a m e i s b o b";
temp = temp.replaceAll("\\s(?!\\s)", "");
System.out.println(temp);
输出:你好,我叫鲍勃
希望这有帮助:)值得注意的是,这是有效的,因为它使双空间中的第一个空间保持不变,并杀死第二个空间。