我有一个这样的字符串:
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
其他回答
您可以在不使用replaceAll()或Java中的任何预定义方法的情况下实现这一点。这种方式是优选的:-
public class RemoveSpacesFromString {
public static void main(String[] args) {
// TODO Auto-generated method stub
String newString;
String str = "prashant is good" ;
int i;
char[] strArray = str.toCharArray();
StringBuffer sb = new StringBuffer();
for(i = 0; i < strArray.length; i++)
{
if(strArray[i] != ' ' && strArray[i] != '\t')
{
sb.append(strArray[i]);
}
}
System.out.println(sb);
}
}
在Kotlin中使用st.replaceAll(“\\s+”,“”)时,请确保使用Regex包装“\\s+”:
"myString".replace(Regex("\\s+"), "")
使用apache字符串util类更好地避免NullPointerException
org.apache.commons.lang3.StringUtils.replace("abc def ", " ", "")
输出
abcdef
有许多方法可以解决这个问题。您可以使用拆分函数或替换字符串的函数。
有关更多信息,请参阅微笑问题http://techno-terminal.blogspot.in/2015/10/how-to-remove-spaces-from-given-string.html
public static void main(String[] args) {
String s = "name=john age=13 year=2001";
String t = s.replaceAll(" ", "");
System.out.println("s: " + s + ", t: " + t);
}
Output:
s: name=john age=13 year=2001, t: name=johnage=13year=2001