Java截取字符串的常见方法「建议收藏」

Java截取字符串的常见方法「建议收藏」转自:https://blog.csdn.net/zjx2016/article/details/74557301在项目中经常会遇到截取字符串的需求,这里重点介绍两种常见的截取字符串方法。方法一:通过split()将正则传入split()。返回的是一个字符串数组类型。不过通过这种方式截取会有很大的性能损耗,因为分析正则非常耗时。Stringstr="53285964@qq.co…

大家好,又见面了,我是你们的朋友全栈君。

在我们日常工作中经常遇到截取字符串的需求,这里重点介绍两种常见的截取字符串方法。

方法一:通过split()

此方法返回的是一个字符串数组类型。

1.只传一个参数:split(String regex)

将正则传入split(),根据给定正则表达式的匹配拆分此字符串。不过通过这种方式截取会有很大的性能损耗,因为分析正则非常耗时。

String str = “HelloWorld@qq.com”;
String[] strs = str.split(“@”);
for(int i=0,i<strs.length;i++){

    System.out.println(strs[i].toString());
}

运行结果:

HelloWorld
qq.com

2.传入两个参数:split(String regex,int limit)

  • regex — 正则表达式分隔符。

  • limit — 分割的份数。

将正则和份数传入split()。根据给定正则表达式的匹配和想要分割的份数来拆分此字符串。

String str = “HelloWorld@qq@com”;
String[] strs = str.split(“@”,2);
for(int i=0,i<strs.length;i++){

    System.out.println(strs[i].toString());
}

运行结果:

HelloWorld
qq@com

方法二:通过subString()方法来进行字符串截取

1、只传一个参数:subString(int beginIndex)
将字符串从索引号为beginIndex开始截取,一直到字符串末尾。(注意索引值从0开始);

String sb = “HelloWorld@qq.com”;
String str = sb.substring(5);
System.out.println(str);

运行结果:

World@qq.com

2、传入两个参数:substring(int beginIndex, int endIndex)
从索引号beginIndex开始到索引号endIndex结束(返回结果包含索引为beginIndex的字符不包含索引endIndex的字符),如下所示:

String sb = “HelloWorld@qq.com”;
String str = sb.substring(0, 5);
System.out.println(str);

运行结果:

Hello

3、根据某个字符截取字符串
这里根据”@”截取字符串(也可以是其他子字符串)

String sb = “HelloWorld@qq.com”;
String str = sb.substring(0, sb.indexOf(“@”));
System.out.println(str);

运行结果:

HelloWorld

分析:indexOf(String str)方法返回的是子字符串第一次出现在字符串的索引位置,上面的代码返回的是@前面的字符。

 

参考原文出处:https://blog.csdn.net/zjx2016/article/details/74557301

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

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

(0)
上一篇 2022年5月24日 上午7:00
下一篇 2022年5月24日 上午7:20


相关推荐

  • 细说MySQL的时间戳(Timestamp)类型

    细说MySQL的时间戳(Timestamp)类型转载生产环境中部署着各种版本的 MySQL 包括 MySQL5 5 5 6 5 7 三个大版本和 N 个小版本 由于 MySQL 在向上兼容性较差 导致相同 SQL 在不同版本上表现各异 下面从几个方面来详细介绍时间戳数据类型 nbsp 时间戳数据存取 nbsp nbsp 在 MySQL 上述三个大版本中 默认时间戳 Timestamp 类型的取值范围为 1970 01 0100 00 01 UTC nbsp 至 2038 01 1903 14

    2026年3月16日
    4
  • 电商后台管理系统项目实例

    电商后台管理系统项目实例电商后台管理系统项目实例1.D2admin开源地址:https://github.com/d2-projects/d2-admin文档地址:https://d2.pub/zh/doc/d2-admin/效果预览:https://d2.pub/d2-admin/preview/#/index开源协议:MIT2.vue-element-admin开源地址:https://github.com/PanJiaChen/vue-element-admin文档地址:https://panjiachen

    2022年6月6日
    77
  • {转载}circos绘图(2)

    {转载}circos绘图(2)https wenlongshen github io 2017 03 22 Circos 2 本章主要对 circos 环图中最基本的元素进行设置 包括 karyotype ideogram ticks 等模块 KaryotypeKar 的信息就如同坐标轴一般 其大小 顺序 位置等直接决定了后续数据的展示 这里我们新建一个 karyotype conf 文件用来设置 karyotyp

    2026年3月17日
    2
  • 欧易最新地址:交易所抢夺AI Agent时代默认金融接口入口

    欧易最新地址:交易所抢夺AI Agent时代默认金融接口入口

    2026年3月16日
    2
  • 孤立的SQL用户

    孤立的SQL用户

    2021年11月26日
    48
  • linux shell 文件内容,Linux用shell修改文件内容[通俗易懂]

    linux shell 文件内容,Linux用shell修改文件内容[通俗易懂]sed-i’s/abc/xxx/g’fileabc修改前的字符串xxx是修改后的字符串file是要被修改的文件例如:我有一个文件是map_server#!/bin/bash#chkconfig:23451090#description:StartsandStopstheMapServer.DIRECTORY=xxxxxxMAPSERVER_HOME=/usr/map/ma…

    2022年7月26日
    7

发表回复

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

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