java里面的split方法 关于java中的split()方法,如何使用
Java\u4e2dsplit\u7684\u7528\u6cd5Java\u4e2dsplit\u4e3b\u8981\u7528\u4e8e\u5206\u9694\u5b57\u7b26\u4e32\u3002
\u5177\u4f53\u5206\u6790\u5982\u4e0b:
1\u3001\u5982\u679c\u7528\u201c.\u201d\u4f5c\u4e3a\u5206\u9694\u7684\u8bdd,\u5fc5\u987b\u662f\u5982\u4e0b\u5199\u6cd5,String.split("\\."),\u8fd9\u6837\u624d\u80fd\u6b63\u786e\u7684\u5206\u9694\u5f00,\u4e0d\u80fd\u7528String.split(".")\u3002
2\u3001\u5982\u679c\u7528\u201c|\u201d\u4f5c\u4e3a\u5206\u9694\u7684\u8bdd,\u5fc5\u987b\u662f\u5982\u4e0b\u5199\u6cd5,String.split("\\|"),\u8fd9\u6837\u624d\u80fd\u6b63\u786e\u7684\u5206\u9694\u5f00,\u4e0d\u80fd\u7528String.split("|")\uff0c\u201c.\u201d\u548c\u201c|\u201d\u90fd\u662f\u8f6c\u4e49\u5b57\u7b26,\u5fc5\u987b\u5f97\u52a0"\\"\u3002
3\u3001\u5982\u679c\u5728\u4e00\u4e2a\u5b57\u7b26\u4e32\u4e2d\u6709\u591a\u4e2a\u5206\u9694\u7b26,\u53ef\u4ee5\u7528\u201c|\u201d\u4f5c\u4e3a\u8fde\u5b57\u7b26,\u6bd4\u5982,\u201cacount=? and uu =? or n=?\u201d,\u628a\u4e09\u4e2a\u90fd\u5206\u9694\u51fa\u6765,\u53ef\u4ee5\u7528String.split("and|or")\u3002
\u6269\u5c55\u8d44\u6599\uff1a
Java\u4e2dsplit\u4f7f\u7528\u6ce8\u610f\u4e8b\u9879\uff1a
1\u3001\u8981\u88ab\u5206\u89e3\u7684String\u5bf9\u8c61\u6216\u6587\u5b57\uff0c\u8be5\u5bf9\u8c61\u4e0d\u4f1a\u88absplit\u65b9\u6cd5\u4fee\u6539\u3002
2\u3001\u5b57\u7b26\u4e32\u6216\u6b63\u5219\u8868\u8fbe\u5f0f\u5bf9\u8c61\uff0c\u5b83\u6807\u8bc6\u4e86\u5206\u9694\u5b57\u7b26\u4e32\u65f6\u4f7f\u7528\u7684\u662f\u4e00\u4e2a\u8fd8\u662f\u591a\u4e2a\u5b57\u7b26\u3002\u5982\u679c\u5ffd\u7565\u8be5\u9009\u9879\uff0c\u8fd4\u56de\u5305\u542b\u6574\u4e2a\u5b57\u7b26\u4e32\u7684\u5355\u4e00\u5143\u7d20\u6570\u7ec4\u3002
3\u3001\u8be5\u503c\u7528\u6765\u9650\u5236\u8fd4\u56de\u6570\u7ec4\u4e2d\u7684\u5143\u7d20\u4e2a\u6570(\u4e5f\u5c31\u662f\u6700\u591a\u5206\u5272\u6210\u51e0\u4e2a\u6570\u7ec4\u5143\u7d20,\u53ea\u6709\u4e3a\u6b63\u6570\u65f6\u6709\u5f71\u54cd)\u3002
4\u3001split \u65b9\u6cd5\u7684\u7ed3\u679c\u662f\u4e00\u4e2a\u5b57\u7b26\u4e32\u6570\u7ec4\uff0c\u5728 stingObj \u4e2d\u6bcf\u4e2a\u51fa\u73b0 separator \u7684\u4f4d\u7f6e\u90fd\u8981\u8fdb\u884c\u5206\u89e3\u3002separator\u4e0d\u4f5c\u4e3a\u4efb\u4f55\u6570\u7ec4\u5143\u7d20\u7684\u90e8\u5206\u8fd4\u56de\u3002
String[] menberele=menber.split(" ");
\u8fd9\u91ccmenber\u662f\u6570\u7ec4\uff0c\u6ca1\u6709split\u8fd9\u4e2a\u65b9\u6cd5\uff0c\u5e94\u8be5\u662fmenber[i].split(" ");
String user=currenUser.split(" ");
\u8fd9\u4e2a\u6539\u6210String[] user=currenUser.split(" ");
menberele[i][j].equals(user[j])) \u8fd9\u91cc\u6211\u4e0d\u77e5\u9053\u4f60\u8981\u5e72\u4ec0\u4e48
\u4f46\u662fString[] menberele\u662f\u4e00\u7ef4\u6570\u7ec4\uff0c\u4f60\u5df2\u7ecf\u5728\u524d\u9762\u5b9a\u4e49\u4e86
\u540e\u9762\u7adf\u7136\u62ff\u6765\u5f53\u4e8c\u7ef4\u6570\u7ec4\u7528\u3002\u3002\u3002
以下是java的split的特性及一些例子:
java.lang.string.split
split 方法
将一个字符串分割为子字符串,然后将结果作为字符串数组返回。
stringObj.split([separator,[limit]])
stringObj
必选项。要被分解的 String 对象或文字。该对象不会被 split 方法修改。
separator
可选项。字符串或 正则表达式 对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽
略该选项,返回包含整个字符串的单一元素数组。
limit
可选项。该值用来限制返回数组中的元素个数。
说明:
split 方法的结果是一个字符串数组,在 stingObj 中每个出现 separator 的位置都要进行分解
。separator 不作为任何数组元素的部分返回。
示例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 的方法。读者已经知道,“ . ”在正则表达式中有特殊的含义,因此我们使用的时候必须进行转义。
只要将
String[] names = value.split(".");
改为
String[] names = value.split("//.");
就可以了。
输出结果:
192
168
128
33
再加一点儿补充(这是Java帮助文档中的,更清晰一些):
public String[] split(String regex,int limit)根据匹配给定的正则表达式来拆分此字符串。
此方法返回的数组包含此字符串的每个子字符串,这些子字符串由另一个匹配给定的表达式的子字符串终止或由字符串结束来终止。数组中的子字符串按它们在此字符串中的顺序排列。如果表达式不匹配输入的任何部分,则结果数组只具有一个元素,即此字符串。
limit 参数控制模式应用的次数,因此影响结果数组的长度。如果该限制 n 大于 0,则模式将被最多应用 n - 1 次,数组的长度将不会大于 n,而且数组的最后项将包含超出最后匹配的定界符的所有输入。如果 n 为非正,则模式将被应用尽可能多的次数,而且数组可以是任意长度。如果 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 - 定界正则表达式
limit - 结果阈值,如上所述
返回:
字符串数组,根据给定正则表达式的匹配来拆分此字符串,从而生成此数组
抛出:
PatternSyntaxException - 如果正则表达式的语法无效
从以下版本开始:
1.4
public String[] split(String regex)根据给定的正则表达式的匹配来拆分此字符串。
该方法的作用就像是使用给定的表达式和限制参数 0 来调用两参数 split 方法。因此,结果数组中不包括结尾空字符串。
例如,字符串 "boo:and:foo" 产生带有下面这些表达式的结果:
Regex 结果
: { "boo", "and", "foo" }
o { "b", "", ":and:f" }
参数:
regex - 定界正则表达式
返回:
字符串数组,根据给定正则表达式的匹配来拆分此字符串,从而生成此数组。
抛出:
PatternSyntaxException - 如果正则表达式的语法无效
java中String的split方法有两个,
split(String regex) 根据给定正则表达式的匹配拆分此字符串。例如:将下列字符串以“a”分割,
public String[] split(String regex,
int limit)参数:regex - 定界正则表达式
limit - 结果阈值
例如下:
其中:limit来限制被分割后数组的元素个数;
spilt是正则表达式中的一种,用来切分字段。
用法为:字符串.spilt("特定字符"),输出结果为String[]类型。
如:String [] list = "abcabcabc".spilt("b");
那么结果就是“a”,"ca","ca","c";
获取结果可以通过:list.get(下标)的形式(从0开始),如:list.get(3) 的结果就是“c”。
切分字符串为数组,String value = "register.xml" String[] values = value.split(".")
两个都差不多,最好看看帮助文档!
绛旓細褰搇imit鐨勫间负0鏃讹紝妯″紡鍙互浣跨敤灏藉彲鑳藉鐨勬鏁(瀛楃涓插彲浠ュ畬鍏ㄥ尮閰)锛屼絾杩斿洖缁撴灉涓缁撳熬鐨勭┖瀛愪覆琚涪寮冧簡銆傛ゼ涓昏皟鐢ㄧ殑鏄2涓split(String regex)鍑芥暟,鑰岃鍑芥暟鏄皟鐢╯plit(String regex, 0)鏉ュ疄鐜扮殑锛岀幇鍦╨imit == 0锛屽氨浼氳垗寮冨悗闈㈢殑绌轰覆銆傝嫢瑕佽缁嗕簡瑙o紝璇峰弬鑰java API銆俻ublic class T{public ...
绛旓細1. 棣栧厛瑕佹槑鐧split鏂规硶鐨勫弬鏁板惈涔夛細public String[] split(String regex)鏍规嵁缁欏畾鐨勬鍒欒〃杈惧紡鐨勫尮閰嶆潵鎷嗗垎姝ゅ瓧绗︿覆銆 2. 鐒跺悗灏辫鏄庣‘姝e垯琛ㄨ揪寮忕殑鍚箟浜嗭細'.'鐐 鍖归厤闄も淺n鈥濆拰"\r"涔嬪鐨勪换浣曞崟涓瓧绗︺'\'琛ㄧず杞箟瀛楃锛岃屽弻閲嶈浆涔夌浉褰撲簬鍘熸剰锛3. 鍥犳鈥淺\.鈥濆拰鈥.鈥濆悓鎰 4.鍏ㄥ彞鍗虫牴鎹'....
绛旓細杩欎釜瀛楃涓插垎鍓叉椂鐢ㄥ埌鐨鏂规硶銆傛寚瀹氬瓧绗︿覆鎸夋寚瀹氱殑鏍囪杩涜鍒嗗壊锛屼骇鐢熶竴涓瓧绗︿覆鏁扮粍銆備緥锛歴tr=鈥渁,b,c鈥; String[] strs=str.split(","); //strs鍐灏卞彉涓篬"a","b","c"]瀵圭壒娈婄鍙烽渶瑕佽繘琛屾敞瑙o紝渚嬪锛氣.鈥濓紝鐢ㄦ椂搴斿啓涓簊plit("\\.")...
绛旓細split鏄寜鐓ф寚瀹氱殑瀛楃鍒嗗壊瀛楃涓蹭负瀛楃涓叉暟缁勶紝杩欓噷鐨勫垎闅旂姣旇緝鐗规畩锛屾槸.鎵浠ヨ鍔犲弽鏂滄潬杩涜杞箟锛屼篃灏辨槸杈惧埌鍒╃敤.鍒嗗壊瀛楃涓茬殑鏁堟灉銆傛瘮濡倄.y.z 璋冪敤split("\\.")鍚庡緱鍒版暟缁刐x,y,z]
绛旓細1銆侀鍏堝湪鐢佃剳涓鎵撳紑JAVA锛岀劧鍚庡湪椤圭洰涓紩鍏utool鐨刯ar鍖呫2銆佹帴鐫瀹氫箟涓涓猄tring绫诲瀷鐨勫瓧绗︿覆锛屽涓嬪浘鎵绀恒3銆佺劧鍚庡啀瀹氫箟涓涓猧nt绫诲瀷鐨勫紑濮嬩綅缃紝鍜屼竴涓猧nt绫诲瀷鐨勯暱搴︼紝濡備笅鍥炬墍绀恒4銆佺劧鍚嶴tring s = StrUtil.subWithLength(str,fromIndex,length);//浠庢寚瀹氫綅缃紑濮,鎴彇鎸囧畾闀垮害鐨勫瓧绗︿覆銆5銆...
绛旓細System.out.println(sourceStrArray[i]);} split鍒嗛殧绗︽荤粨 1.瀛楃"|","*","+"閮藉緱鍔犱笂杞箟瀛楃锛屽墠闈㈠姞涓"\\"銆2.鑰屽鏋滄槸"\"锛岄偅涔堝氨寰楀啓鎴"\\\"銆3.濡傛灉涓涓瓧绗︿覆涓鏈夊涓垎闅旂锛屽彲浠ョ敤"|"浣滀负杩炲瓧绗︺傛瘮濡傦細String str = "Java string-split#test",鍙互鐢⊿tr.split(" |-|#"...
绛旓細import java.util.Arrays;public class Day21_A {public static void main(String[] args) {String[] arr=new String("寮犱笁,鏉庡洓,鐜嬩簲;璧靛叚").split("[\\,\\;]");System.out.println(Arrays.toString(arr));}}
绛旓細classMain锝涳級锛泂taticpublic锛夛紱voidmain锛圫tring锛伙冀str锛夛級锛涳經Strings锛濓紓1234567锛糿890锛糿110A锛傦紱String锛伙冀array锛漵锛split锛堬紓锛伙技锛紅锛硷技n锛斤紜锛傦級锛沠or(int i=0;i<array.length;i++)System.out.println(array[i]))锛涳綕锛忥紡main锛夛紱锝濓紡锛廲lass锛夛紱瀛楃涓蹭富瑕佺敤浜庣紪绋嬶紝姒傚康璇存槑銆佸嚱鏁...
绛旓細鎸夌収瀛楃涓查『搴忓乏鍙虫帓搴忕殑
绛旓細java涓璼plit鏂规硶涓轰綍涓嶈兘鐢ㄥ皬鏁扮偣(.)鍋氬弬鏁帮紵鐪婰Z鐨勭敤娉曞ソ璞℃槸 "str".split(.) 锛 娉ㄦ剰split()闇瑕佷竴涓猄tring鐨勫弬鏁帮紝鎵浠ュ簲璇ユ槸 "str".split(".") 鎵嶈锛岀偣'.'瑕佺敤鍙屽紩鍙""鎷捣鏉 浣"a.b.c".split(".");寰椾笉鍒伴鏈熺殑缁撴灉: a b c 鎵浠ュ繀椤昏 "a.b.c".split("\\."); 鐢╘...