我有一个这样的字符串:

mysz = "name=john age=13 year=2001";

我想删除字符串中的空格。我尝试了trim(),但这只删除了整个字符串前后的空格。我还尝试了replaceAll(“\\W”,“”),但随后=也被删除。

如何通过以下方式实现字符串:

mysz2 = "name=johnage=13year=2001"

当前回答

String a="string with                multi spaces ";
//or this 
String b= a.replaceAll("\\s+"," ");
String c= a.replace("    "," ").replace("   "," ").replace("  "," ").replace("   "," ").replace("  "," ");

//任何空间都可以使用*别忘了sting b中的空格

其他回答

replaceAll(“\\s”,“”)如何。请参阅此处。

字符串中也存在其他空格字符。。所以我们可能需要从字符串中替换空格字符。

例如:无杆空间、三杆EM空间、打孔空间

以下是空格字符列表http://jkorpela.fi/chars/spaces.html

所以我们需要修改

\u2004我们的三人空间

s.replaceAll(“[\u0020\u2004]”,“”)

replaceAll("\\s","")

\w=任何单词字符

\W=任何非单词字符(包括标点符号等)

\s=任何空格字符(包括空格、制表符等)

\S=非空格字符的任何内容(包括字母和数字以及标点符号等)

(编辑:如前所述,如果您希望到达正则表达式引擎,则需要转义反斜杠,从而导致\\s。)

如果要删除字符串中的所有空格:

public String removeSpace(String str) {
    String result = "";
    for (int i = 0; i < str.length(); i++){
        char c = str.charAt(i);        
        if(c!=' ') {
            result += c;
        }
    }
    return result;
}
import java.util.*;
public class RemoveSpace {
    public static void main(String[] args) {
        String mysz = "name=john age=13 year=2001";
        Scanner scan = new Scanner(mysz);

        String result = "";
        while(scan.hasNext()) {
            result += scan.next();
        }
        System.out.println(result);
    }
}