java string split 鐨勭敤娉
鍙戝竷: 2008-12-09 15:46 | 浣滆: webmaster | 鏉ユ簮: 鏈珯鍘熷垱 | 鏌ョ湅: 449娆
split 鏂规硶
灏嗕竴涓瓧绗︿覆鍒嗗壊涓哄瓙瀛楃涓诧紝鐒跺悗灏嗙粨鏋滀綔涓哄瓧绗︿覆鏁扮粍杩斿洖銆
stringObj.split([separator锛孾limit]])
stringObj
蹇呴夐」銆傝琚垎瑙g殑 String 瀵硅薄鎴栨枃瀛椼傝瀵硅薄涓嶄細琚 split 鏂规硶淇敼銆
separator
鍙夐」銆傚瓧绗︿覆鎴 姝e垯琛ㄨ揪寮 瀵硅薄锛屽畠鏍囪瘑浜嗗垎闅斿瓧绗︿覆鏃朵娇鐢ㄧ殑鏄竴涓繕鏄涓瓧绗︺傚鏋滃拷
鐣ヨ閫夐」锛岃繑鍥炲寘鍚暣涓瓧绗︿覆鐨勫崟涓鍏冪礌鏁扮粍銆
limit
鍙夐」銆傝鍊肩敤鏉ラ檺鍒惰繑鍥炴暟缁勪腑鐨勫厓绱犱釜鏁般
璇存槑锛
split 鏂规硶鐨勭粨鏋滄槸涓涓瓧绗︿覆鏁扮粍锛屽湪 stingObj 涓瘡涓嚭鐜 separator 鐨勪綅缃兘瑕佽繘琛屽垎瑙
銆俿eparator 涓嶄綔涓轰换浣曟暟缁勫厓绱犵殑閮ㄥ垎杩斿洖銆
绀轰緥1锛
public class SplitDemo {
public static String[] ss = new String[20];
public SplitDemo() {
String s = "The rain in Spain falls mainly in the plain.";
// 鍦ㄦ瘡涓┖鏍煎瓧绗﹀杩涜鍒嗚В銆
ss = s.split(" ");
}
public static void main(String[] args) {
SplitDemo demo = new SplitDemo();
for (int i = 0; i < ss.length; i++)
System.out.println(ss[i]);
}
}
绋嬪簭缁撴灉锛
The
rain
in
Spain
falls
mainly
in
the
plain.
绀轰緥2锛
public class SplitDemo {
public static String[] ss = new String[20];
public SplitDemo() {
String s = "The rain in Spain falls mainly in the plain.";
// 鍦ㄦ瘡涓┖鏍煎瓧绗﹀杩涜鍒嗚В銆
ss = s.split(" ", 2);
}
public static void main(String[] args) {
SplitDemo demo = new SplitDemo();
for (int i = 0; i < ss.length; i++)
System.out.println(ss[i]);
}
}
绋嬪簭缁撴灉锛
The
rain in Spain falls mainly in the plain.
绀轰緥3锛
public class SplitDemo {
public static String[] ss = new String[20];
public SplitDemo() {
String s = "The rain in Spain falls mainly in the plain.";
// 鍦ㄦ瘡涓┖鏍煎瓧绗﹀杩涜鍒嗚В銆
ss = s.split(" ", 20);
}
public static void main(String[] args) {
SplitDemo demo = new SplitDemo();
for (int i = 0; i < ss.length; i++)
System.out.println(ss[i]);
}
}
绋嬪簭缁撴灉锛
The
rain
in
Spain
falls
mainly
in
the
plain.
绀轰緥4锛
public class SplitDemo {
public static void main(String[] args) {
String value = "192.168.128.33";
String[] names = value.split(".");
for (int i = 0; i < names.length; i++) {
System.out.println(names[i]);
}
}
}
杩愯缁撴灉锛
瀵癸紝娌$湅閿欙紒娌℃湁浠讳綍杈撳嚭锛
璁╂垜浠潵鐪嬬湅 split 鏂规硶鐨勬柟娉曠鍚嶅惂锛
public string[] split(string regex)
杩欓噷鐨勫弬鏁扮殑鍚嶇О鏄 regex 锛屼篃灏辨槸 regular expression 锛堟鍒欒〃杈惧紡锛夈傝繖涓弬鏁板苟涓嶆槸涓涓畝鍗曠殑鍒嗗壊鐢ㄧ殑瀛楃锛岃屾槸涓涓鍒欒〃杈惧紡锛岀湅浜 split 鏂规硶鐨勫疄鐜颁唬鐮佸氨鏇村潥瀹氫簡鎴戜滑鐨勪俊蹇冿細
public string[] split(string regex, int limit) {
return pattern.compile(regex).split(this, limit);
}
split 鐨勫疄鐜扮洿鎺ヨ皟鐢ㄧ殑 matcher 绫荤殑 split 鐨勬柟娉曘傝鑰呭凡缁忕煡閬擄紝鈥 . 鈥濆湪姝e垯琛ㄨ揪寮忎腑鏈夌壒娈婄殑鍚箟锛屽洜姝ゆ垜浠娇鐢ㄧ殑鏃跺欏繀椤昏繘琛岃浆涔夈
鍙灏
String[] names = value.split(".");
鏀逛负
String[] names = value.split("\\.");
灏卞彲浠ヤ簡銆
杈撳嚭缁撴灉锛
192
168
128
33
鍐嶅姞涓鐐瑰効琛ュ厖锛堣繖鏄疛ava甯姪鏂囨。涓殑锛屾洿娓呮櫚涓浜涳級锛
public String[] split(String regex,int limit)鏍规嵁鍖归厤缁欏畾鐨勬鍒欒〃杈惧紡鏉ユ媶鍒嗘瀛楃涓层
姝ゆ柟娉曡繑鍥炵殑鏁扮粍鍖呭惈姝ゅ瓧绗︿覆鐨勬瘡涓瓙瀛楃涓诧紝杩欎簺瀛愬瓧绗︿覆鐢卞彟涓涓尮閰嶇粰瀹氱殑琛ㄨ揪寮忕殑瀛愬瓧绗︿覆缁堟鎴栫敱瀛楃涓茬粨鏉熸潵缁堟銆傛暟缁勪腑鐨勫瓙瀛楃涓叉寜瀹冧滑鍦ㄦ瀛楃涓蹭腑鐨勯『搴忔帓鍒椼傚鏋滆〃杈惧紡涓嶅尮閰嶈緭鍏ョ殑浠讳綍閮ㄥ垎锛屽垯缁撴灉鏁扮粍鍙叿鏈変竴涓厓绱狅紝鍗虫瀛楃涓层
limit 鍙傛暟鎺у埗妯″紡搴旂敤鐨勬鏁帮紝鍥犳褰卞搷缁撴灉鏁扮粍鐨勯暱搴︺傚鏋滆闄愬埗 n 澶т簬 0锛屽垯妯″紡灏嗚鏈澶氬簲鐢 n - 1 娆★紝鏁扮粍鐨勯暱搴﹀皢涓嶄細澶т簬 n锛岃屼笖鏁扮粍鐨勬渶鍚庨」灏嗗寘鍚秴鍑烘渶鍚庡尮閰嶇殑瀹氱晫绗︾殑鎵鏈夎緭鍏ャ傚鏋 n 涓洪潪姝o紝鍒欐ā寮忓皢琚簲鐢ㄥ敖鍙兘澶氱殑娆℃暟锛岃屼笖鏁扮粍鍙互鏄换鎰忛暱搴︺傚鏋 n 涓洪浂锛屽垯妯″紡灏嗚搴旂敤灏藉彲鑳藉鐨勬鏁帮紝鏁扮粍鍙湁浠讳綍闀垮害锛屽苟涓旂粨灏剧┖瀛楃涓插皢琚涪寮冦
渚嬪锛屽瓧绗︿覆 "boo:and:foo" 浣跨敤杩欎簺鍙傛暟鍙敓鎴愪笅鍒楃粨鏋滐細
Regex Limit 缁撴灉
: 2 { "boo", "and:foo" }
: 5 { "boo", "and", "foo" }
: -2 { "boo", "and", "foo" }
o 5 { "b", "", ":and:f", "", "" }
o -2 { "b", "", ":and:f", "", "" }
o 0 { "b", "", ":and:f" }
杩欑褰㈠紡鐨勬柟娉曡皟鐢 str.split(regex, n) 浜х敓涓庝互涓嬭〃杈惧紡瀹屽叏鐩稿悓鐨勭粨鏋滐細
Pattern.compile(regex).split(str, n)
鍙傛暟锛
regex - 瀹氱晫姝e垯琛ㄨ揪寮
limit - 缁撴灉闃堝硷紝濡備笂鎵杩
杩斿洖锛
瀛楃涓叉暟缁勶紝鏍规嵁缁欏畾姝e垯琛ㄨ揪寮忕殑鍖归厤鏉ユ媶鍒嗘瀛楃涓诧紝浠庤岀敓鎴愭鏁扮粍
鎶涘嚭锛
PatternSyntaxException - 濡傛灉姝e垯琛ㄨ揪寮忕殑璇硶鏃犳晥
浠庝互涓嬬増鏈紑濮嬶細
1.4
public String[] split(String regex)鏍规嵁缁欏畾鐨勬鍒欒〃杈惧紡鐨勫尮閰嶆潵鎷嗗垎姝ゅ瓧绗︿覆銆
璇ユ柟娉曠殑浣滅敤灏卞儚鏄娇鐢ㄧ粰瀹氱殑琛ㄨ揪寮忓拰闄愬埗鍙傛暟 0 鏉ヨ皟鐢ㄤ袱鍙傛暟 split 鏂规硶銆傚洜姝わ紝缁撴灉鏁扮粍涓笉鍖呮嫭缁撳熬绌哄瓧绗︿覆銆
渚嬪锛屽瓧绗︿覆 "boo:and:foo" 浜х敓甯︽湁涓嬮潰杩欎簺琛ㄨ揪寮忕殑缁撴灉锛
Regex 缁撴灉
: { "boo", "and", "foo" }
o { "b", "", ":and:f" }
鍙傛暟锛
regex - 瀹氱晫姝e垯琛ㄨ揪寮
杩斿洖锛
瀛楃涓叉暟缁勶紝鏍规嵁缁欏畾姝e垯琛ㄨ揪寮忕殑鍖归厤鏉ユ媶鍒嗘瀛楃涓诧紝浠庤岀敓鎴愭鏁扮粍銆
鎶涘嚭锛
PatternSyntaxException - 濡傛灉姝e垯琛ㄨ揪寮忕殑璇硶鏃犳晥




发表于 2009-1-5 19:48
| 











