前言

相信大家应该都知道在java编程中,有时候我们需要把一个字符串按照某个特定字符、字母等作为截点分割这个字符串,这样我们就可以使用这个字符串的一部分或者把所有截取的内容保存到数组里等操作。下面这篇文章就给大家分享了两种分割的方法,下面来一起看看吧。
一、java.lang.String 的 split() 方法, JDK 1.4 or later
public String[] split(String regex,int limit)
示例代码
public class StringSplit {
public static void main(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]);
}
}
}
输出结果:
1 2 3 4 5 1 2 3,4,5
split 的实现直接调用的 matcher 类的 split 的方法。在使用String.split方法分隔字符串时,分隔符如果用到一些特殊字符,可能会得不到我们预期的结果。
在正则表达式中有特殊的含义的字符,我们使用的时候必须进行转义,示例:
public class StringSplit {
public static void main(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]);
}
}
}
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 包。
代码示例
public class StringSplit {
public static void main(String[] args) {
String ip = "192.168.128.33";
StringTokenizer token=new StringTokenizer(ip,".");
while(token.hasMoreElements()){
System.out.print(token.nextToken()+" ");
}
}
}
但是StringTokenizer对于字符串"192.168..33"的分割,返回的字符串数组只有3个元素,对于两个分隔符之间的空字符串会忽略,这个要慎重使用。
但是String.split(String.split是用正则表达式匹配,所以不使用KMP字符串匹配算法)用的都是按顺序遍历的算法,时间复杂度O(m*n),较高,所以性能上,StringTokenizer好很多,对于频繁使用字符串分割的应用,例如etl数据处理,使用StringTokenizer性能可以提高很多。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
# java中分割字符串
# java字符串截取
# java分割字符串成两个
# java字符串常用操作方法(查找、截取、分割)
# java 字符串分割的三种方法(总结)
# Java中实现String字符串分割的3种方法
# Java用split分割含一个或多个空格的字符串案例
# java用split分割字符串的一个有趣现象
# java中简单的截取分割字符串实例
# java分割字符串多种方法(附例子)
# 分隔符
# 可以用
# 中有
# 这篇文章
# 的人
# 都是
# 成了
# 多个
# 最多
# 两种
# 遍历
# 较高
# 就把
# 数据处理
# 正则表达式
# 就得
# 都得
# 看看吧
# 就给
# 使用这个
相关文章:
内网网站制作软件,内网的网站如何发布到外网?
建站之星如何实现PC+手机+微信网站五合一建站?
一键制作网站软件下载安装,一键自动采集网页文档制作步骤?
如何在建站之星网店版论坛获取技术支持?
TestNG的testng.xml配置文件怎么写
制作网站公司那家好,网络公司是做什么的?
盘锦网站制作公司,盘锦大洼有多少5G网站?
微信小程序 五星评分(包括半颗星评分)实例代码
建站主机CVM配置优化、SEO策略与性能提升指南
焦点电影公司作品,电影焦点结局是什么?
GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?
青浦网站制作公司有哪些,苹果官网发货地是哪里?
网站制作的步骤包括,正确网址格式怎么写?
Android使用GridView实现日历的简单功能
建站之星安装后界面空白如何解决?
如何选择香港主机高效搭建外贸独立站?
c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】
如何挑选高效建站主机与优质域名?
建站之星在线版空间:自助建站+智能模板一键生成方案
上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?
如何在阿里云服务器自主搭建网站?
定制建站策划方案_专业建站与网站建设方案一站式指南
建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南
建站DNS解析失败?如何正确配置域名服务器?
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
利用JavaScript实现拖拽改变元素大小
制作网站外包平台,自动化接单网站有哪些?
,怎么用自己头像做动态表情包?
建站之星价格显示格式升级,你的预算足够吗?
如何通过VPS建站无需域名直接访问?
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
如何在Golang中引入测试模块_Golang测试包导入与使用实践
建站之星安装需要哪些步骤及注意事项?
Python多线程使用规范_线程安全解析【教程】
C++如何编写函数模板?(泛型编程入门)
高端智能建站公司优选:品牌定制与SEO优化一站式服务
网站企业制作流程,用什么语言做企业网站比较好?
如何快速选择适合个人网站的云服务器配置?
西安大型网站制作公司,西安招聘网站最好的是哪个?
如何制作一个表白网站视频,关于勇敢表白的小标题?
如何在万网开始建站?分步指南解析
如何快速查询域名建站关键信息?
香港服务器网站卡顿?如何解决网络延迟与负载问题?
如何挑选优质建站一级代理提升网站排名?
西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?
招贴海报怎么做,什么是海报招贴?
如何通过网站建站时间优化SEO与用户体验?
宝盒自助建站智能生成技巧:SEO优化与关键词设置指南
如何在香港免费服务器上快速搭建网站?
C#如何在一个XML文件中查找并替换文本内容
*请认真填写需求信息,我们会在24小时内与您取得联系。