首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 移除字符串中所有空白字符:正則表達式與 replaceAll 實現

     編輯:Java 相關知識

正則表達式方案(推薦)

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class StringUtils {
    public static String removeAllWhitespace(String str) {
        if (str == null) return "";
        // \s 匹配空格、制表符、換頁符、換行符等所有空白字符
        Pattern p = Pattern.compile("\\s+");
        Matcher m = p.matcher(str);
        return m.replaceAll("");
    }

    public static void main(String[] args) {
        String test = "  Hello\tWorld\n\rFoo ";
        System.out.println("原始: [" + test + "]");
        System.out.println("處理後: [" + removeAllWhitespace(test) + "]");
        // 輸出: 原始: [  Hello    World
        // Foo ]  處理後: [HelloWorldFoo]
    }
}

替代方案:replaceAll 直接使用正則

String result = str.replaceAll("\\s+", "");
// 或針對特定字符
String result = str.replaceAll("[ \\t\\n\\r\\f]", "");

笨辦法(逐個替換,不推薦)

String s = "你要去除的字符串";
s = s.replace(" ", "");   // 空格
s = s.replace("\t", "");  // 制表符
s = s.replace("\n", "");  // 換行符
s = s.replace("\r", "");  // 回車符
s = s.replace("\f", "");  // 換頁符

常見空白字符對照表

轉義序列含義Unicode
\s任意空白字符(含下列所有)-
空格\u0020
\t水平制表符\u0009
\n換行符\u000A
\r回車符\u000D
\f換頁符\u000C

性能提示

  • 單次處理長字符串,Pattern.compile 複用可提升性能。
  • 極簡場景下 str.replaceAll("\\s+", "") 最簡潔。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved