我有一个这样的字符串:

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

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

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

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

当前回答

使用apache字符串util类更好地避免NullPointerException

org.apache.commons.lang3.StringUtils.replace("abc def ", " ", "")

输出

abcdef

其他回答

使用apache字符串util类更好地避免NullPointerException

org.apache.commons.lang3.StringUtils.replace("abc def ", " ", "")

输出

abcdef
public String removeSpaces(String word){
        StringBuffer buffer = new StringBuffer();
        if(word != null){
            char[] arr = word.toCharArray();
            for(int i=0; i < arr.length; i++){
                if(!Character.isSpaceChar(arr[i])) {
                    buffer.append(arr[i]);
                }                  
            }
        }
        return buffer.toString();
    }
package com.sanjayacchana.challangingprograms;

public class RemoveAllWhiteSpacesInString {

    public static void main(String[] args) {
        
        String str = "name=john age=13 year=2001";
        
        str = str.replaceAll("\\s", ""); 
        
        System.out.println(str);
        
        
    }

}

处理字符串操作的一种方法是来自Apache commons的StringUtils。

String withoutWhitespace = StringUtils.deleteWhitespace(whitespaces);

你可以在这里找到它。commons-lang包含更多内容,并且得到了很好的支持。

提供了相当多的答案。我想给出一个比正则表达式更易读、更好的解决方案。

import java.io.IOException;

import org.apache.commons.lang.StringUtils;

public class RemoveAllWhitespaceTest {

    public static void main(String[] args) throws IOException {

        String str1 = "\n\tThis is my string \n \r\n  !";

        System.out.println("[" + str1 + "]");

        System.out.println("Whitespace Removed:");

        System.out.println("[" + StringUtils.deleteWhitespace(str1) + "]");

        System.out.println();

    }

}