当前位置:   article > 正文

java split教程_java split .

java split .

还是老样子,废话不多说,这里直接讲代码,后面讲故事。

第一章 代码实现

1、直接调用split方法,如果没有效果,带上英文的中括号就可以了。当然也可以使用两个\\来替换。效果是一样的。

  1. public static void main(String[] args) {
  2. // 特殊符号【+】,【|】,【*】,【.】,【?】,【$】
  3. // 上面这6种特殊符号在split方法中会失效
  4. // 处理办法就是加上英文的中括号[]
  5. String text = "dd|cc|aa";
  6. String splitStr = "|";
  7. String[] texts = text.split(splitStr);
  8. // 由于没有做特殊处理,所以这里的结果是错误的
  9. // 由于没有做特殊处理,所以这里的结果是错误的
  10. // 由于没有做特殊处理,所以这里的结果是错误的
  11. log.info("texts={}",Arrays.asList(texts));
  12. // ------------------下面的结果都是正常的,随便选择一种方法
  13. // ------------------下面的结果都是正常的,随便选择一种方法
  14. // ------------------下面的结果都是正常的,随便选择一种方法
  15. // 这里加上英文的中括号,就正常了
  16. splitStr = "[|]";
  17. texts = text.split(splitStr);
  18. log.info("texts 加上英文中括号结果={}",Arrays.asList(texts));
  19. text = "馒头*面包*方便面";
  20. // 这里加上英文的中括号,就正常了
  21. splitStr = "[*]";
  22. texts = text.split(splitStr);
  23. log.info("texts 加上英文中括号结果={}",Arrays.asList(texts));
  24. text = "172.168.100.110";
  25. // 这里加上英文的中括号,就正常了
  26. splitStr = "[.]";
  27. texts = text.split(splitStr);
  28. log.info("texts 加上英文中括号[.]结果={}",Arrays.asList(texts));
  29. // 这里使用两个英文的反斜杠转义为特殊字符点,就正常了
  30. splitStr = "\\.";
  31. texts = text.split(splitStr);
  32. log.info("texts 加上英文两个斜杠\\\\.结果={}",Arrays.asList(texts));
  33. }

2、控制台的输出结果,如下

  1. 16:06:58.828 [main] INFO cn.renkai721.controller.AsyncTestController - texts=[d, d, |, c, c, |, a, a]
  2. 16:06:58.830 [main] INFO cn.renkai721.controller.AsyncTestController - texts 加上英文中括号结果=[dd, cc, aa]
  3. 16:06:58.830 [main] INFO cn.renkai721.controller.AsyncTestController - texts 加上英文中括号结果=[馒头, 面包, 方便面]
  4. 16:06:58.830 [main] INFO cn.renkai721.controller.AsyncTestController - texts 加上英文中括号[.]结果=[172, 168, 100, 110]
  5. 16:06:58.830 [main] INFO cn.renkai721.controller.AsyncTestController - texts 加上英文两个斜杠\\.结果=[172, 168, 100, 110]
  6. Process finished with exit code 0

第二章 唠嗑

1、split方法中的特殊字符一共有6个,分别是【+】,【|】,【*】,【.】,【?】,【$】。大家在使用split的方法时候,是要进行特殊处理的,否则是没有效果的。

2、还有一种很暴力的方法,就是先replace方法把这些特殊字符转换为普通的符号,例如英文的逗号,在调用split方法就可以了。

3、查阅split官网的使用规则及操作。大概的翻译如下,以下翻译来自有道翻译。

此方法返回的数组包含this的每个子字符串

由另一个匹配给定的子字符串终止的字符串

表达式或以字符串结尾结束。的子字符串

数组按照它们在这个字符串中出现的顺序排列。如果

表达式不匹配输入的任何部分,然后匹配结果数组

只有一个元素,即这个字符串。

当在此开头有一个正宽度匹配时

字符串,则在开头包含一个空的前导子字符串

结果数组的。然而,一开始是零宽度的匹配

永远不要产生这样的空前导子字符串。

参数{@code limit}控制

模式被应用,因此影响结果的长度

数组中。如果极限<i>n</i>大于零,则模式

将被应用最多<i>n</i>1次,数组的

长度将不大于<i>n</i>,以及数组的最后一个条目

将包含最后一个匹配的分隔符以外的所有输入。如果n <我> < / i >

那么是非正的模式会被应用多少次

可能的和数组可以有任何长度。如果<i>n</i>为零,那么

该模式将被应用尽可能多的次数,数组可以

如果有任何长度,那么后面的空字符串将被丢弃。

例如,字符串{@code "boo:and:foo"}将生成

以下是带有这些参数的结果:

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号