文章目录

  • 1 String[] split(String regex)
  • 2 String[] split(String regex, int limit)
  • 3 split()的应用
    • 3.1 leetcode–1078. Bigram 分词

1 String[] split(String regex)

将此字符串拆分为给定的regular expression(正则表达式)匹配
参数:regex–分割正则表达式
结果:将字符串按分隔符分为字符串数组
注意:

  1. 如果字符串中的regex后面字符也是regex,后面每有一个regex,字符串数组中就会在对应的位置多一个空字符串。但如果空字符串在末尾,字符串数组就会将它舍弃。
public class test {public static void main(String[] args) {String str = "1,,2,3,4,,,,";String[] s = str.split(",");for (String word : s) {System.out.println(word + "%");}}
}


从结果中我们可以看出第二个逗号作为空字符串在字符串数组中存在,而字符串str末尾的逗号都被舍弃。

  1. 当regex为①([{/^-$¦}])?*+.等这些特殊字符时,需要在前面加上\\进行转义。
public class test {public static void main(String[] args) {String str = "1..2.3.4....5.6...";String[] s = str.split("\\.");for (String word : s) {System.out.println(word + "%");}}
}


从上述结果可以看出.需要转义字符形成\\.才能对字符串分割。而且输出结果也验证了第一点regex后面的每个regex对应字符串数组中的空字符串,末尾的部分舍弃。

2 String[] split(String regex, int limit)

将此字符串拆分为给定的regular expression(正则表达式)匹配
参数:

  1. regex–分割正则表达式;
  2. limit–影响字符串数组的长度
  • limit > 0 : regex的匹配模式将最多被应用limit - 1次,数组的长度不会超过limit,数组的最后一项有可能包含所有超出最后匹配的regex。
  • limit = 0 : 与不带参数limit的split方法相同,结尾的空字符串被舍弃。
  • limit < 0 : 匹配模式将尽可能多的使用,而且字符串数组可以是任意长度。
    结果:将字符串按分隔符分为字符串数组
String str = "3..2.1.1....1.6...";
  1. 当regex = "1"时,
public class test {public static void main(String[] args) {String str = "3**2*1*1****1*6***";int[] limitArr = {0, 2, 5, -2};for (int limit : limitArr) {String[] s = str.split("1", limit);System.out.println("limit = " + limit + " : " + Arrays.toString(s));}}
}

  1. 当regex = "\\*"时,
public class test {public static void main(String[] args) {String str = "3**2*1*1****1*6***";int[] limitArr = {0, 2, 5, -2};for (int limit : limitArr) {String[] s = str.split("\\*", limit);System.out.println("limit = " + limit + " : " + Arrays.toString(s));}}
}

3 split()的应用

3.1 leetcode–1078. Bigram 分词

1078. Bigram 分词

这道题目很简单,直接上代码:

public String[] findOcurrences(String text, String first, String second) {List<String> res = new ArrayList<>();String[] words = text.split(" ");for (int i = 0; i < words.length - 2; i++) {if (words[i].equals(first) && words[i + 1].equals(second))res.add(words[i + 2]);}return res.toArray(new String[0]);
}

注意:

  1. split方法字符串进行分割
  2. toArray(new String[0])将List转换为数组

Java字符串之split方法相关推荐

  1. java split 实现_PL/SQL实现JAVA中的split()方法的例子

    众所周知,java中为String类提供了split()字符串分割的方法,所以很容易将字符串以指定的符号分割为一个字符串数组.但是在pl/sql中并没有提供像java中的split()方法,所以要想在 ...

  2. sqlserver字符串拆分(split)方法汇总

    declare @s varchar(100),@sql varchar(1000) set @s='1,2,3,4,5,6,7,8,9,10,11' while(charindex(',',@s)& ...

  3. java字符串逐个分解_改进JAVA字符串分解的方法

    改进JAVA字符串分解的方法 一.概述 大多数Java程序员都曾经使用过java.util.StringTokenizer类.它是一个很方便的字符串分解器,主要用来根据分隔符把字符串分割成标记(Tok ...

  4. Java:使用split方法时忽略中英文的符号区别

    Java:使用split方法时忽略中英文的符号区别 split(",|,")

  5. 【Java字符串分割[split()]和截取[substring()]】

    最近写代码时遇到自字符串分割和截取的问题,在此总结一下. 字符串的分割: 一般自字符串的分割常用的方法是java.lang包中的String.split()方法,返回是一个字符串数组. 语法: pub ...

  6. 总结 | Java字符串常用操作(方法)

    Java字符串 Java String类 创建字符串 字符串长度获取 连接字符串 字符串查找 获取指定位置的字符串 获取子字符串 去除字符串首尾的空格() 字符串替换 判断字符串的开始与结尾 判断字符 ...

  7. java中通过split方法使用分号分割,使用正则表达式匹配不识别单引号中的分号

    在Java中,使用split()方法可以通过指定正则表达式作为分隔符来拆分字符串.如果你想忽略单引号内的分号,可以使用以下代码: String str = "aaa;bbb;'ccc;ddd ...

  8. java中的split方法

    java.lang.string.split split 方法 将一个字符串分割为子字符串,然后将结果作为字符串数组返回. stringObj.split([separator,[limit]]) s ...

  9. JS对象 字符串分割 split() 方法将字符串分割为字符串数组,并返回此数组。 语法: stringObject.split(separator,limit)...

    字符串分割split() 知识讲解: split() 方法将字符串分割为字符串数组,并返回此数组. 语法: stringObject.split(separator,limit) 参数说明: 注意:如 ...

最新文章

  1. 在VS.NET中使用clickonce技术开发Winform程序
  2. TZOJ 4865 统计单词数(模拟字符串)
  3. 蛋疼的配置go opengl的记录 running gcc failed: exit status 1 in golang in windows
  4. python输入三行、能出来三行数据_python 读入多行数据的实例
  5. 作者:Anjaneyulu Passala, 男,印度理工学院计算机科学与工程学院博士,印孚瑟斯技术有限公司主任研究科学家。...
  6. 13章 购买服务器和域名绑定
  7. 【Jenkins】Jenkins : Mac中Jenkins的停止和启动
  8. php5.3 PHP5.4 PHP5.5 php5.6 新特性/使用PHP5.5/PHP5.6要注意的
  9. 如何下载Chrome历史版本
  10. 计算机本科毕业论文选题单片机,单片机毕业论文范文
  11. 第六章-博弈论之Stackelberg博弈
  12. amd玄冰400怎么拆图解_给老电脑降降温(把AMD原装散热器换成玄冰400)过程体验...
  13. u3d快速入门图文教程
  14. 台式计算机碟片怎么安装,怎样用光盘从装台式电脑系统?
  15. 四 微信公众号 基础参数说明
  16. 微信小程序配置每个页面的标题名称
  17. RYU+mininet——RYU
  18. 【scrapy爬虫】最新sogou搜狗搜索 机智操作绕过反爬验证码(搜狗微信公众号文章同理)
  19. 平台设备platform_device和平台驱动platform_driver
  20. 2020年防爆电气模拟考试及防爆电气实操考试视频

热门文章

  1. 操作系统--第九章 操作系统接口--习题答案
  2. 镁客网每周硬科技领域投融资汇总(4.5-4.13),Boston Dynamics收购创企实现第一个商业化产品...
  3. MySQL 增量更新
  4. 同济大学计算机其中考试时间,2017高中期中考试时间安排一览
  5. 产品第一性原理提升数据转化
  6. 第一性原理差分电荷密度计算能得到什么数据?
  7. TICC2640 模拟IIC
  8. 计算机毕业设计springboot基于springboot的智能ERP管理系统r8w04源码+系统+程序+lw文档+部署
  9. influxdb插入数据报错
  10. 【LayUI】之动态树动态选项卡Tabiframe使用