返回顶部
首页 > 资讯 > 后端开发 > JAVA >Java String split()方法详细教程
  • 448
分享到

Java String split()方法详细教程

java开发语言 2023-09-16 17:09:37 448人浏览 泡泡鱼
摘要

Java String split方法详细教程 1、内部实现2、语法3、参数4、返回值5、抛出异常6、Java String split()方法示例7、Java String split()方

Java String split方法详细教程

Java String类的split()方法根据给定的正则表达式拆分字符串,并返回一个字符数组

1、内部实现

public String[] split(String regex, int limit) {                    char ch = 0;          if (((regex.value.length == 1 &&               ".$|()[{^?*+\\".indexOf(ch = regex.charAt(0)) == -1) ||               (regex.length() == 2 &&                regex.charAt(0) == '\\' &&                (((ch = regex.charAt(1))-'0')|('9'-ch)) < 0 &&                ((ch-'a')|('z'-ch)) < 0 &&                ((ch-'A')|('Z'-ch)) < 0)) &&              (ch < Character.MIN_HIGH_SURROGATE ||               ch > Character.MAX_LOW_SURROGATE))          {              int off = 0;              int next = 0;              boolean limited = limit > 0;              ArrayList<String> list = new ArrayList<>();              while ((next = indexOf(ch, off)) != -1) {                  if (!limited || list.size() < limit - 1) {                      list.add(substring(off, next));                      off = next + 1;                  } else {    // 最后一个                    //assert (list.size() == limit - 1);                      list.add(substring(off, value.length));                      off = value.length;                      break;                  }              }              // 如果未找到匹配项,则返回此            if (off == 0)                  return new String[]{this};                //添加剩余部分              if (!limited || list.size() < limit)                  list.add(substring(off, value.length));                //构建结果             int resultSize = list.size();              if (limit == 0)                  while (resultSize > 0 && list.get(resultSize - 1).length() == 0)                      resultSize--;              String[] result = new String[resultSize];              return list.subList(0, resultSize).toArray(result);          }          return Pattern.compile(regex).split(this, limit);      }

2、语法

Java String类的split()方法有两种语法。

public String split(String regex)   public String split(String regex, int limit)

3、参数

regex:要应用于字符串的正则表达式。
limit:数组中字符串的数量限制。如果为零,则返回与正则表达式匹配的所有字符串。

4、返回值

字符串数组

5、抛出异常

如果正则表达式的模式无效,则抛出PatternSyntaxException异常。

6、Java String split()方法示例

以下示例返回字符串中除空格之外的单词总数。它还包括特殊字符。

public class SplitExample{  public static void main(String args[]){  String s1="java string split method by javatpoint";  String[] Words=s1.split("\\s");//根据空格分割字符串//使用 java foreach 循环打印字符串数组的元素for(String w:words){  System.out.println(w);  }  }}
javastringsplitmethodbyjavatpoint

7、Java String split()方法与正则表达式和长度示例

public class SplitExample2{  public static void main(String args[]){  String s1="welcome to split world";  System.out.println("returning words:");  for(String w:s1.split("\\s",0)){  System.out.println(w);  }  System.out.println("returning words:");  for(String w:s1.split("\\s",1)){  System.out.println(w);  }  System.out.println("returning words:");  for(String w:s1.split("\\s",2)){  System.out.println(w);  }    }}
returning words:welcome to split worldreturning words:welcome to split worldreturning words:welcome to split world

8、Java String split()方法与正则表达式和长度示例2

在这里,我们将拆分限制作为第二个参数传递给该函数。这限制了拆分后的字符串数量。

public class SplitExample3 {      public static void main(String[] args) {          String str = "Javatpointtt";          System.out.println("Returning words:");          String[] arr = str.split("t", 0);          for (String w : arr) {              System.out.println(w);          }          System.out.println("Split array length: "+arr.length);      }  }
Returning words:JavapoinSplit array length: 2

来源地址:https://blog.csdn.net/weixin_43025151/article/details/130812048

--结束END--

本文标题: Java String split()方法详细教程

本文链接: https://www.lsjlt.com/news/410120.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作