split方法和轉義字符

public class split {
 public static void main(String[] args) {
  String sourceStr="1*3*5";
  String[] sourceStrArray=sourceStr.split("u002A");
  String[] sourceStrArray=sourceStr.split("*");
    for(int i=0;i<sourceStrArray.length;i++)
    {
     System.out.println(sourceStrArray[i]);
    }

 }

}


今天遇到一個很奇怪的問題,就是當我用split函數時一直出現異常情況。我檢查了好久都沒有檢查出來,後來才發現原來是我的分隔符的問題,以前用那些簡單的如:“,”“_”等都能夠正常的運行,但是,今天我用的是“*”,一直提醒報錯誤,後來我抱着試試的態度去解決是不是以爲“*”是特殊運算符,我就找了一篇關於,java轉義字符的文章,其中“*”的轉義字符是“u002A”,運行成功了!哈哈哈哈

下面是java的常用轉義字符:

java轉義字符對照表
點的轉義:. ==> u002E
美元符號的轉義:$ ==> u0024
乘方符號的轉義:^ ==> u005E
左大括號的轉義:{ ==> u007B
左方括號的轉義:[ ==> u005B
左圓括號的轉義:( ==> u0028
豎線的轉義:| ==> u007C
右圓括號的轉義:) ==> u0029
星號的轉義:* ==> u002A
加號的轉義:+ ==> u002B
問號的轉義:? ==> u003F
反斜槓的轉義: ==> u005C

}
Java代碼

   1. String str2="a$b$c"; 
   2. String strs[]=str2.split("$"); 
   3. for(String str:strs){ 
   4.     System.out.println(str); 
   5. } 

  String str2="a$b$c";
  String strs[]=str2.split("$");
  for(String str:strs){
   System.out.println(str);
  }

 

並不會打出 a , b ,c需要轉義纔可如:

Java代碼

   1. String str2="a$b$c"; 
   2. String strs[]=str2.split("//u0024"); 
   3. for(String str:strs){ 
   4.     System.out.println(str); 
   5. } 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章