文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Java String split()方法详细教程

2023-09-16 17:47

关注

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

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯