我有一个这样的字符串:
mysz = "name=john age=13 year=2001";
我想删除字符串中的空格。我尝试了trim(),但这只删除了整个字符串前后的空格。我还尝试了replaceAll(“\\W”,“”),但随后=也被删除。
如何通过以下方式实现字符串:
mysz2 = "name=johnage=13year=2001"
我有一个这样的字符串:
mysz = "name=john age=13 year=2001";
我想删除字符串中的空格。我尝试了trim(),但这只删除了整个字符串前后的空格。我还尝试了replaceAll(“\\W”,“”),但随后=也被删除。
如何通过以下方式实现字符串:
mysz2 = "name=johnage=13year=2001"
当前回答
你已经从Gursel Koca那里得到了正确的答案,但我相信这很有可能不是你真正想要做的事情?
import java.util.Enumeration;
import java.util.Hashtable;
class SplitIt {
public static void main(String args[]) {
String person = "name=john age=13 year=2001";
for (String p : person.split("\\s")) {
String[] keyValue = p.split("=");
System.out.println(keyValue[0] + " = " + keyValue[1]);
}
}
}
输出:name=约翰年龄=13岁年=2001
其他回答
mysz = mysz.replace(" ","");
第一个有空间,第二个没有空间。
然后就完成了。
试试看:
String str="name=john age=13 year=2001";
String s[]=str.split(" ");
StringBuilder v=new StringBuilder();
for (String string : s) {
v.append(string);
}
str=v.toString();
如果要删除字符串中的所有空格:
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;
}
字符串中也存在其他空格字符。。所以我们可能需要从字符串中替换空格字符。
例如:无杆空间、三杆EM空间、打孔空间
以下是空格字符列表http://jkorpela.fi/chars/spaces.html
所以我们需要修改
\u2004我们的三人空间
s.replaceAll(“[\u0020\u2004]”,“”)
使用apache字符串util类更好地避免NullPointerException
org.apache.commons.lang3.StringUtils.replace("abc def ", " ", "")
输出
abcdef