java中如何分隔字符串_Java中分割字符串

java.lang.String的split()方法, JDK 1.4 or later

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

示例代码

48304ba5e6f9fe08f3fa1abda7d326ab.png

public classStringSplit {

public static voidmain(String[] args) {

String sourceStr = "1,2,3,4,5";

String[] sourceStrArray = sourceStr.split(",");

for (int i = 0; i < sourceStrArray.length; i++) {

System.out.println(sourceStrArray[i]);

}

//最多分割出3个字符串

int maxSplit = 3;

sourceStrArray = sourceStr.split(",", maxSplit);

for (int i = 0; i < sourceStrArray.length; i++) {

System.out.println(sourceStrArray[i]);

}

}

}

48304ba5e6f9fe08f3fa1abda7d326ab.png

输出结果:

48304ba5e6f9fe08f3fa1abda7d326ab.png

1

2

3

4

5

1

2

3,4,5

48304ba5e6f9fe08f3fa1abda7d326ab.png

split 的实现直接调用的 matcher 类的 split 的方法。在使用String.split方法分隔字符串时,分隔符如果用到一些特殊字符,可能会得不到我们预期的结果。在正则表达式中有特殊的含义的字符,我们使用的时候必须进行转义,示例:

48304ba5e6f9fe08f3fa1abda7d326ab.png

public classStringSplit {

public static voidmain(String[] args) {

String value = "192.168.128.33";

//注意要加\\,要不出不来,yeah

String[] names = value.split("\\.");

for (int i = 0; i < names.length; i++) {

System.out.println(names[i]);

}

}

}

48304ba5e6f9fe08f3fa1abda7d326ab.png

split分隔符总结

1.字符"|","*","+"都得加上转义字符,前面加上"\\"。

2.而如果是"\",那么就得写成"\\\\"。

3.如果一个字符串中有多个分隔符,可以用"|"作为连字符。

比如:String str = "Java string-split#test",可以用Str.split(" |-|#")把每个字符串分开。这样就把字符串分成了3个子字符串。

java.util.Tokenizer JDK 1.0 or later

StringTokenizer

StringTokenizer 类允许应用程序将字符串分解为标记。StringTokenizer 是出于兼容性的原因而被保留的遗留类(虽然在新代码中并不鼓励使用它)。建议所有寻求此功能的人使用 String 的 split 方法或 java.util.regex 包。

代码示例

48304ba5e6f9fe08f3fa1abda7d326ab.png

public classStringSplit {

public static voidmain(String[] args) {

String ip = "192.168.128.33";

StringTokenizer token=new StringTokenizer(ip,".");

while(token.hasMoreElements()){

System.out.print(token.nextToken()+" ");

}

}

}

48304ba5e6f9fe08f3fa1abda7d326ab.png

但是StringTokenizer对于字符串"192.168..33"的分割,返回的字符串数组只有3个元素,对于两个分隔符之间的空字符串会忽略,这个要慎重使用。

但是String.split(String.split是用正则表达式匹配,所以不使用KMP字符串匹配算法)用的都是按顺序遍历的 算法,时间复杂度O(m*n),较高,所以性能上,StringTokenizer好很多,对于频繁使用字符串分割的应用,例如etl数据处理,使用 StringTokenizer性能可以提高很多。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/566462.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

typescript 接口 java_Typescript基础(4)——接口

前言今天继续typescript的学习&#xff0c;开始ts接口部分的学习。接口接口的理解首先&#xff0c;我们谈论一下现实生活中的接口。比如生活中常用的插座接口&#xff0c;有些插头是三孔插座的&#xff0c;有些是两孔插座的。插座接口规定了插头的数目&#xff0c;那么我们的电…

php测试号推送消息失败,信息发送失败是什么原因

手机突然信息发送失败可能是以下原因&#xff1a;1.是因为我们的手机出现了欠费的情况,所以发不出短信,这种情况是最为普遍的,需要我们及时的进行缴费。2.手机的信息中心的号码设置有误,应该根据你所在省份的实际信息中心号码进行设置,这样一般就能解决这方面的问题。可能是你的…

php ajax 概率 转盘,php+jquery实现转盘抽奖 概率可任意调

phpjquery实现转盘抽奖 概率可任意调phpjquery实现转盘抽奖 概率可任意调Posted by: xiaomiao 2014/05/13in Code, PHP 3 Commentsphpjquery实现转盘抽奖查看DEMO演示转盘抽奖&#xff0c;炫丽的一般是flash做的。不懂flash而又不需要那么炫丽&#xff0c;可以简单的通过jquer…

组件php53 php55区别,分享下php5类中三种数据类型的区别

public: 公有类型    在子类中可以通过self::var 来调用 public类型的方法或属性 可以通过parent::method 来调用父类中的方法在实例中可以能过$obj->var 来调用 public类型的方法或属性protected: 受保护类型在子类中可以通过self::var 来调用 protected类型的方法…

wins宝塔安装提示已经有php,centOS安装宝塔提示报错

安装宝塔提示这个错误、一般是DNS问题、或者更换个安装节点P rootlocalhost:~root0104.223.166.114s password: ILast failed login: Tue Jul 17 02:32:19 EDT 2018 from 112.85.42.197 on. ssh :notty IThere were 780 failed login attempts since the last successful login…

php自动抓取文章图片,从文章中提取图片,把图片保存到本地,自动提取缩略图...

开发二代旅游网站程序和CMS的时候&#xff0c;有一个需求&#xff0c;就是从网上复制的内容&#xff0c;里面包含图片的&#xff0c;需要对把图片提取出来&#xff0c;并且保存到本地&#xff0c;并且把图片的URL地址本地化&#xff0c;以下是实现的代码。开发二代旅游网站程序…

url get参数 php,怎么取得Url中Get参数

这次给大家带来怎么取得Url中Get参数&#xff0c;取得Url中Get参数的注意事项有哪些&#xff0c;下面就是实战案例&#xff0c;一起来看一下。此时可以使用js的方式得到当前页面的url中的get参数. 核心语句是:window.location.href详细代码不解释了,有注释,你看了就懂.封装成jQ…

php tls,使用TLS在PHP中建立连接

我为特殊目的编写了一个小型SIP客户端.基本上,它使用函数fsockopen()连接到端口5060$fp fsockopen("10.0.0.1", 5060, $errno, $errstr, 30);然后基本上使用fread()和fwrite()读写SIP命令.现在,我的SIP服务操作符希望我们的客户使用SIPS,基本上是通过TLS的SIP.我花了…

简单的php探针,php探针程序的推荐

在我们之前的文章已经为大家介绍了什么是php探针&#xff0c;以及他的主要作用是什么&#xff0c;如果你接触了cms或许就会有点了解&#xff0c;当然&#xff0c;不要紧&#xff0c;看完这篇就知道php探针是做什么的了。php探针通常是用来探测空间、服务器运行的状况和php相关信…

php熊掌号怎么设置json-ld,dedecms织梦系统对接百度熊掌号并添加JSON_LD数据

百度近期推出的百度熊掌号非常的不错,我的dedecms织梦系统早早就对接好了,它能对你的原创文章进行原创保护,并评出熊掌号搜索指数,熊掌号搜索指数是对你文章的内容质量,用户喜爱、原创能力、活跃表现、领域专注五个维度进行计算评估而得到的。你的dedecms织梦网站开通熊掌号之后…

php获取信息,PHP文件信息获取函数

知识点&#xff1a;basename():获取文件名&#xff0c;传入第二个参数则只显示文件名&#xff0c;不显示后缀dirname():获取文件路径pathinfo():将文件信息存入一个数组&#xff0c;通过索引basename&#xff0c;dirname&#xff0c;extension可以获得对应的文件名&#xff0c;…

判断文件是否改变php,PHP判断文件是否被修改实例

在网站的管理系统中&#xff0c;有时需要查看某个文件是否被修改过、在什么时间被修改的、最后的修改时间是什么时候&#xff0c;本实例就可以实现这个功能&#xff0c;对表单中提交的文件进行判断&#xff0c;检测出修改时间。关键技术本实例主要应用filectime()和filemtime()…

java输入流转成输出流,[转]java 输出流转输入流

ByteArrayOutputStream.toByteArrayByteArrayInputStreamStringWriter.toStringStringReader字符流和二进制流是javaIO的两类流,输入流和输出流是javaIO的两类流如果你曾经使用过Java IO 编程&#xff0c;很可能会遇到这样一个状况&#xff0c;在一个类中向OutputStream里面写数…

matlab压控振荡器,MATLAB仿真应用_第5章(1)解析.ppt

第5章 数字通信系统的仿真(1) 5.1 概述 5.2 信源 5.3 信源编码 5.4 调制技术(模拟调制) 5.1 概述 实际的数字通信系统需要完成从信源到信宿的全部功能&#xff0c;这通常是比较复杂的。对这个系统做出的任何改动(如改变系统的结构、改变某个参数的设置等)都可能影响到整个系统的…

mysql pdo 查询一条数据,使用 PDO 关联查询 MySQL 数据

使用pdo关联查询mysql数据try {$pdo new PDO(mysql:hostlocalhost;dbnametest;, root, 123456);// 0.等值联结$sql SELECT c.name, o.id, o.customer_id, o.price FROM orders o, customer c WHERE o.customer_id c.id AND c.name :name;// 1.内联结(与上面等值联结返回的查…

php pdo 关闭,php pdo预处理

什么是预处理语句&#xff1f;可以把它看作是想要运行的 SQL 的一种编译过的模板&#xff0c;它可以使用变量参数进行定制。预处理语句可以带来两大好处&#xff1a;查询仅需解析(或预处理)一次&#xff0c;但可以用相同或不同的参数执行多次。当查询准备好后&#xff0c;数据库…

java 下载后删除,在服务器端生成文件后,下载后并删除,改了后发现文件变成空白解决思路...

当前位置:我的异常网 Java Web开发 在服务器端生成文件后,下载后并删除,改了后发现文件在服务器端生成文件后,下载后并删除,改了后发现文件变成空白解决思路www.myexceptions.net 网友分享于&#xff1a;2015-08-26 浏览&#xff1a;99次在服务器端生成文件后,下载后并删除,…

matlab出现红色括号,想让大家看下标红地方为什么说有括号问题

MATLAB特征提取代码for i1:26fstrcat(D:\bishe\,num2str(i)); imagestrcat(f,.jpg); PSimread(image);PSimresize(PS,[300,300],bilinear);%归一化大小 PSrgb2gray(PS);[m,n]size(PS); %测量图像尺寸参数GPzeros(1,256); %预创建存放灰度出现概率的向量for k0:255GP(k1)length…

mysql 数据类型怎么用,myMySQL数据库怎么更改表中某字段的数据类型? MySQL数据库使用教程...

在mysql中&#xff0c;可以使用“ALTER TABLE”语句配合“MODIFY”关键字来更改表中某字段的数据类型&#xff1b;语法格式“ALTER TABLE MODIFY ”。(推荐教程&#xff1a;mysql视频教程)在 MySQL 中&#xff0c;ALTER TABLE 语句可以改变原有表的结构&#xff0c;例如增加或删…

matlab multithreading spyder,spyder和python的关系是什么

版权所有&#xff1a;http://wWw.pxcodeS.comspyder和python的关系&#xff1a;1、Spyder是Python的一个简单的集成开发环境&#xff1b;2、它和其他的Python开发环境相比**大的优点就是模仿MATLAB的“工作空间”的功能&#xff0c;可以很方便地观察和修改数组的值。LHF少儿编程…