在字串處理過程中,我們經常遇到要把乙個字串轉出字元陣列,使用的split函式,下面就該函式進行簡單說明。
split 方法:將乙個字串分割為子字串,然後將結果作為字串陣列返回。
stringobj.split([separator],[limit])
引數:stringobj
必選項。要被分解的 string物件或文字。該物件不會被 split 方法修改。
separator 可選項。字串或 正規表示式 物件,它標識了分隔字串時使用的是乙個還是多個字元。如果忽
略該選項,返回包含整個字串的單一元素陣列。 limit可選項。該值用來限制返回陣列中的元素個數。
說明:split 方法的結果是乙個字串陣列,在 stingobj中每個出現 separator 的位置都要進行分解。separator
不作為任何陣列元素的部分返回。
split 的實現直接呼叫的 matcher 類的 split 的方法。「.」在正規表示式中有特殊的含義,因此我們使用的時候必須進行轉義"\\."
如果用豎線「|」分隔的話,將出現不可得到的結果,必須改為
"\\|"
,+ * 不是有效的模式匹配規則表示式,用"\\*"和"\\+"轉義後即可得到正確的結果。
但是此函式需要注意一下內容:
1."|"分隔符
public static void main(string args)
}
得到的結果如下:
size=25
,a,b,c,d,e,f,|,g,h,i,j,k,|,l,m,n,o,|,p,q,r,s,t,|,
這個結果並非我希望的結果。
需要修改一下:
string array = str.split("\\|");
得到的結果如下:
size=4
abcdef,ghijk,lmno,pqrst,
2.","分割符
public static void main(string args)
}
得到的結果如下:
size=4
abcdef,ghijk,lmno,pqrst,
如果想得到後面幾個空格的話,需要修改一下:
string array = str.split(",",-1);
得到的結果如下:
size=7
abcdef,ghijk,lmno,pqrst,,,,
3."."分隔符
string value = "192.168.128.33";
string names = value.split("\\.");
for (int i = 0; i < names.length; i++)
system.out.println(names[i]);
得到的結果如下:
192
168
128 33
4.":"分隔符
string s = new string("01:大汽車:02:小汽車");
string a = s.split(":");
for(int i=0;i
得到的結果如下:
01大汽車
02小汽車
5.一般字母分割
string str = "1one123two456obc";
string strs2 = str.split("o");
for(int i = 0; i < strs2.length; i++)
system.out.println("strs2["+i+"] = "+strs2[i]);
得到的
結果如下:
strs2[0] = 1
strs2[1] = ne123tw
strs2[2] = 456
strs2[3] = bc
String 物件中的 正規表示式方法 split
split 方法用於把乙個字串分割成字串陣列。stringobject.split separator,howmany 引數 描述separator 必需。字串或正規表示式,從該引數指定的地方分割 stringobject。howmany 可選。該引數可指定返回的陣列的最大長度。如果設定了該引數,返...
java中string物件中的split方法的使用
我們都知道string物件中的split方法,是用來按照根據匹配給定的正規表示式來拆分此字串。split方法有兩種 一種為 public stringsplit stringregex 另一種為 public stringsplit stringregex,intlimit 但是在實際應用中我們常用...
java中string 的split函式
之前沒有在split函式 只是單純用了split regex 的方法做字串 今天遇到個人問 為什麼這個方法會導致最後的空字串消失,我一時回答不上了 就去翻看了下1.7jdk文件 在文件中我找到這樣的描述 split regex 函式是 呼叫split regex,limit 來實現的,limit 的...