在JAVA中“1aa”用spilt按a拆分为什么数组为1[1]而不是[1,,] java中拆分字符中的“split(":")[0].subs...
java\u4e2d\u5982\u4f55\u7528split\u5bf9\u4e00\u4e2a\u5b57\u7b26\u4e32\u6309\u9017\u53f7\u548c\u5206\u53f7\u5206\u5272\u6210\u6570\u7ec4import java.util.Arrays;public class Day21_A {public static void main(String[] args) {String[] arr=new String("\u5f20\u4e09,\u674e\u56db,\u738b\u4e94;\u8d75\u516d").split("[\\,\\;]");System.out.println(Arrays.toString(arr));}}
\u5b57\u7b26\u4e32\u7684split(regex)\u65b9\u6cd5\u8fd4\u56de\u7684\u662f\u4e00\u4e2a\u5b57\u7b26\u4e32\u6570\u7ec4,\u770b\u4ee3\u7801:
String str = "a:b:c"; // \u5b9a\u4e49\u4e00\u4e2a\u5b57\u7b26\u4e32 a\u5192\u53f7b\u5192\u53f7c
String[] strArr = str.split(":"); // \u7528\u5192\u53f7\u4f5c\u4e3a\u5206\u9694\u7b26,\u62c6\u5206\u5b57\u7b26\u4e32\u4e2d\u5b50\u5b57\u7b26\u4e32,\u5f97\u5230\u4e00\u4e2a\u5b50\u5b57\u7b26\u4e32\u7684\u6570\u7ec4
// \u8fd9\u4e2a\u5b57\u7b26\u4e32\u6570\u7ec4\u6709\u4e09\u4e2a\u5143\u7d20
strArr[0] = "a";
strArr[1] = "b";
strArr[2] = "c";
\u4e0a\u9762\u662f\u5148\u5b9a\u4e49\u4e86\u5b57\u7b26\u4e32\u5bf9\u8c61\u548c\u5b57\u7b26\u4e32\u6570\u7ec4\u7684\u5f15\u7528,\u53ef\u4ee5\u660e\u663e\u770b\u51fa\u6765,split(regex)\u65b9\u6cd5\u662f\u7528\u6765\u5206\u5272\u5b57\u7b26\u4e32,\u53c2\u6570regex\u5c31\u662f\u770b\u62db\u4ec0\u4e48\u6765\u5206\u5272,\u4e0a\u9762\u7684\u5b57\u7b26\u4e32\u4e2d\u6bcf\u4e2a\u5b57\u6bcd\u4e2d\u95f4\u90fd\u6709\u4e00\u4e2a: (\u5192\u53f7),split(":")\u5c31\u8868\u793a\u7528\u5192\u53f7\u6765\u5206\u5272\u5b50\u4e32,\u6240\u4ee5\u5f97\u5230\u4e09\u4e2a\u5b50\u5b57\u7b26\u4e32 "a","b","c";\u8fd9\u4e2a\u4e09\u4e2a\u5b50\u4e32\u4f1a\u88absplit()\u65b9\u6cd5\u6784\u9020\u6210\u4e00\u4e2a\u6570\u7ec4\u8fd4\u56de
\u5982\u679c\u4e0a\u9762\u7684\u4ee3\u7801\u5199\u7b80\u5355\u7684\u4e00\u70b9\u5c31\u662f\u8fd9\u6837
"a:b:c".split(":")[0] = "a";
"a:b:c".split(":")[0] = "b";
"a:b:c".split(":")[0] = "c";
\u697c\u4e3b\u53ef\u4ee5\u81ea\u5df1\u6d4b\u8bd5\u4e00\u4e0b\u4e0b\u9762\u8fd9\u4e2a\u4ee3\u7801
String str = "I am a chinese"; // \u6ce8\u610f,\u6bcf\u4e2a\u5355\u8bcd\u4f7f\u7528\u7a7a\u683c\u5206\u5f00\u7684
String strArr = str.split(" "); // \u5206\u5272\u5b57\u7b26\u662f\u7a7a\u683c,\u6ce8\u610f
for (int i = 0; i < strArr.length; i++) { // \u628a\u6570\u7ec4\u4e2d\u7684\u6bcf\u4e2a\u5143\u7d20\u6253\u5370\u51fa\u6765\u770b\u770b
System.out.println(strArr[i]);
}
for (int i = 0; i < "you are a chinese too".length; i++) {
System.out.println("you are a chinese too".split(" ")[i]);
}
\u653e\u5230main\u51fd\u6570\u4e2d\u6267\u884c\u4e00\u4e0b\u4e00\u76ee\u4e86\u7136
split(“1aa”)和split("1aa”,n),后面那个n是指运行多少次的意思,这里n如果大于0,则运行n-1次,数组最后一项将包含超出截取字符以后的全部内容;如果n等于0,则相当于没有加这个参数一样,在你这道题的例子里,最后截取出来的空格也不会在数组里出现;如果n小于0,那么将运行无限多次,在你这道题的例子里,空格将会放入数组里。所以如果想精确获得你要的数组,就调用后面的方法,并且将第二个参数设置成-1即可。
比如你有一个字符串 "111:222:333" ,首先,split 把 111,222,333分别放到数组。
[0] 就是取第一个数, 111 。 subString(1)就是从第2个位置截取 111,结果 11 。
不包含分隔符
扩展阅读:mac蜜桃奶茶314 ... 免费源码资源源码站在线 ... 国产377vc精华真能祛斑吗 ... 黑马java视频 ... javascript高级视频 ... java heap space ... 国内永久免费的云服务器 ... www.sony.com.cn ... javascript免费 ...