首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android 字串分割 PatternSyntaxException:特殊正則字符需轉義

     編輯:程式設計綜合問答

使用 String.split() 時,分隔符若包含正則特殊字元(如 *、+、.、? 等),會拋出 PatternSyntaxException。

錯誤範例

String quotes = "1.abc#**#2.def#**#3.ghi";
String[] parts = quotes.split("#**#"); // * 是特殊字元

解決方法

  1. 使用 Pattern.quote 自動轉義整個字串:
    String[] parts = quotes.split(Pattern.quote("#**#"));
  2. 手動轉義 特殊字元:
    String[] parts = quotes.split("#\\*\\*#");
  3. 改用非特殊字元 作為分隔符(如 |、#||#)。

建議

優先使用 Pattern.quote(),程式碼可讀性高且不易出錯。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved