java分割字符串的方法_java字符串按照特定字符分割

java分割字符串的方法_java字符串按照特定字符分割最近在项目中遇到一个小问题,一个字符串分割成一个数组,类似Stringstr=”aaa,bbb,ccc”;然后以”,”为分割符,将其分割成一个数组,用什么方法去实现呢?第一种方法:可能一下子就会想到使用split()方法,用split()方法实现是最方便的,但是它的效率比较低第二种方法:使用效率较高的StringTokenizer类分割字符串,StringTokenizer类是

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

最近在项目中遇到一个小问题,一个字符串分割成一个数组,类似String str=”aaa,bbb,ccc”; 然后以”,”为分割符,将其分割成一个数组,用什么方法去实现呢?

第一种方法:

可能一下子就会想到使用split()方法,用split()方法实现是最方便的,但是它的效率比较低

第二种方法:

使用效率较高的StringTokenizer类分割字符串,StringTokenizer类是JDK中提供的专门用来处理字符串分割子串的工具类。它的构造函数如下:

public StringTokenizer(String str,String delim)

str是要分割处理的字符串,delim是分割符号,当一个StringTokenizer对象生成后,通过它的nextToken()方法便可以得到下一个分割的字符串,再通过hasMoreTokens()方法可以知道是否有更多的子字符串需要处理。这种方法的效率比第一种高。

第三种方法:

使用String的两个方法—indexOf()和subString(),subString()是采用了时间换取空间技术,因此它的执行效率相对会很快,只要处理好内存溢出问题,但可大胆使用。而indexOf()函数是一个执行速度非常快的方法,原型如下:

public int indexOf(int ch)

它返回指定字符在String对象的位置。如下:

String orgStr = "15451255555534";
		String tmp = orgStr;
		String[] splitStr = new String[10];
		int i = 0;
		while (true) {

			int j = tmp.indexOf("5");// 找分隔符的位置
			if (j == -1) {// 没有分隔符存在
				splitStr[i] = tmp;
				break;
			}
			splitStr[i] = tmp.substring(0, j);// 找到分隔符,截取子字符串
			i++;
			tmp = tmp.substring(j + 1); // 剩下需要处理的字符串
		}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/187692.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • adb 安装应用程序「建议收藏」

    adb 安装应用程序「建议收藏」应用程序安装-将一个包推送到设备上并安装它。 adbinstalltest.apk APP安装-将多个APK推送到一个包的设备上并安装它们 adbinstall-multipletest.apktest2.apk 应用程序安装-将一个或多个包推送到设备上,并以原子方式安装它们。 adbinstall-multi-packagetest.apkdemo.apk 替换现有应用程序 重新安装现有的应用…

    2022年5月16日
    54
  • 数论题中(杜教筛)交换求和符号

    数论题中(杜教筛)交换求和符号文章目录方阵下三角约数倍数狄利克雷卷积以及杜教筛学习笔记突然对交换求和符号有了新的理解了,用矩阵转置的思路就很好理解,外层循环相当于枚举行,内层枚举列,交换次序就是先枚举列,再枚举行方阵正常的就是∑i=1n∑j=1nf(i,j)=∑j=1n∑i=1nf(i,j)\sum_{i=1}^n\sum_{j=1}^nf(i,j)=\sum_{j=1}^n\sum_{i=1}^nf(i,j)…

    2022年10月12日
    5
  • 总结thinkphp快捷查询getBy、getField、getFieldBy用法及场景

    总结thinkphp快捷查询getBy、getField、getFieldBy用法及场景

    2021年10月19日
    68
  • javaweb分页显示_java分页查询原理思路

    javaweb分页显示_java分页查询原理思路效果图如下:实现步骤:1.创建实体User.class,参考代码如下:publicclassUser{ privateStringname; privateintage; privateStringgender; publicStringgetName(){ returnname; } publicvoidsetName(Stri…

    2022年9月1日
    5
  • php与dreamweaver基础教程,Dreamweaver基础教程 基础技巧全面接触

    php与dreamweaver基础教程,Dreamweaver基础教程 基础技巧全面接触三、内容篇如何更快更方便得对内容进行组织,是每个朋友都想了解的,下面这几个技巧也许你知道,也许不知道,但重要的是通过不断的运用,你会发现它的优越性的。1、快速标签编辑。对于熟悉手写代码的朋友来说,经常需要切换到代码窗口手工添加一些代码。其实利用Dreamweaver的QuickTagEditor可以快速插入各种HTML标签,一个是点击属性面板的图标插入,另一种快捷方式是Ctrl+T,这两种方…

    2022年4月30日
    40
  • countdowntimer_TIMESTAMPDIFF

    countdowntimer_TIMESTAMPDIFF需求:加载某一个界面,在页面中待5秒后再关闭效果图如下:设置了一个点击事件,当文字显示为Skipactivity时,点击跳转界面。代码及介绍如下图:核心功能代码如下Android自带的CountDownTimer这个工具类,也是通过Handler和子线程来实现的。//倒计时工具类CountDownTimer//CountDownTimer的构造方法有两个参数…

    2026年1月18日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号