java 字符串截取的三种方法(推荐)
众所周知,java提供了很多字符串截取的方式。下面就来看看大致有几种。
1.split()+正则表达式来进行截取。
将正则传入split()。返回的是一个字符串数组类型。不过通过这种方式截取会有很大的性能损耗,因为分析正则非常耗时。
String str = "abc,12,3yy98,0"; String[] strs=str.split(","); for(int i=0,len=strs.length;i<len;i++){ System.out.println(strs[i].toString()); }
运行结果:
abc
12
3yy98
0
2.通过subString()方法来进行字符串截取。
subString通过不同的参数来提供不同的截取方式
2.1只传一个参数
例如:
String sb = "bbbdsajjds";
sb.substring(2);
将字符串从索引号为2开始截取,一直到字符串末尾。(索引值从0开始);
2.2传入2个索引值
String sb = "bbbdsajjds";
sb.substring(2, 4);
从索引号2开始到索引好4结束(并且不包含索引4截取在内,也就是说实际截取的是2和3号字符);
运行结果如下:
bdsajjds
bd
3.通过StringUtils提供的方法
StringUtils.substringBefore(“dskeabcee”, “e”);
/结果是:dsk/
这里是以第一个”e”,为标准。
StringUtils.substringBeforeLast(“dskeabcee”, “e”)
结果为:dskeabce
这里以最后一个“e”为准。
以上这篇java 字符串截取的三种方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
java 字符串截取的实例详解
java 字符串截取的实例详解 题目 在java中,字符串"abcd"与字符串"ab你好"的长度是一样,都是四个字符. 但对应的字节数不同,一个汉字占两个字节. 定义一个方法,按照指定的字节数来取子串. 如:对于"ab你好",如果取三个字节,那么子串就是ab与"你"字的半个,那么半个就要舍弃. 如果取四个字节就是"ab你",取五个字节还是"ab你". 仅考虑GBK和utf-8编码 实例代
-
JAVA中截取字符串substring用法详解
substring public String substring(int beginIndex) 返回一个新的字符串,它是此字符串的一个子字符串.该子字符串始于指定索引处的字符,一直到此字符串末尾. 例如: "unhappy".substring(2) returns "happy" "Harbison".substring(3) returns "bison" "emptiness".substring
-
Java截取特定两个标记之间的字符串实例
如有一串字符串: <abcd efg>higklmnopq<rstu vwxyz> java代码如下: public class StringTest { public static void main(String[] args) { String str = "<abcd efg>higklmnopq<rstu vwxyz"; System.out.println(str.substring(str.indexOf(">&q
-
java 实现截取字符串并按字节分别输出实例代码
java 实现截取字符串并按字节分别输出实例代码 前言: 请编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串.但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF"6,应该输出"我ABC",而不是"我ABC"+"汉"字的半个. 2.解析思想 本题容易产生困惑的是中文字符和英文字符如何处理,在这里需要考虑汉字和英文字符的占用字节
-
java中简单的截取分割字符串实例
目前整理出来三种形式: 可根据实际需要选择使用 String userNameUrl; int beginIndex = 0; int endIndex = 0; userNameUrl = "454512@hongri@4944115455d9591b274648a06303d910de"; /** * 方法一: */ beginIndex = userNameUrl.indexOf("@")+1; endIndex = userNameUrl.lastIndex
-
java按字节截取带有汉字的字符串的解法(推荐)
由于接口使用的oracle字段长度为固定字节数,然后传进来的字符串估计比数据库字段的总字节数要大,那么截取小于数据库字节数的字符串. 自己参考网上的例子,整了个递归调用就可以了,因为截取的字符字节长度必须小与数据库的字节长度,即如果最后一个字符为汉字,那么只能去掉往前截取. /** * 判断传进来的字符串,是否 * 大于指定的字节,如果大于递归调用 * 直到小于指定字节数 ,一定要指定字符编码,因为各个系统字符编码都不一样,字节数也不一样 * @param s * 原始字符串 * @param
-
Java使用正则表达式截取重复出现的XML字符串功能示例
本文实例讲述了Java使用正则表达式截取重复出现的XML字符串功能.分享给大家供大家参考,具体如下: public static void main(String[] args) throws DocumentException { String s = "<MTCCommand Time=\"2014-03-22\"><Login UserId=\"admin\" UserPasswd=\"123\" />&l
-
Java截取字符串的方法
本文实例讲述了Java截取字符串的方法.分享给大家供大家参考.具体实现方法如下: public static void main(String args[]) { //以该字符第一次出现,开始截取 //String str="abc.def"; //String str="abc.def.sdfsdf.fsdfd.ddddd.ggggg.ttttt"; //String str1=str.substring(str.indexOf(".")+1,
-
java 截取字符串(判断汉字)
复制代码 代码如下: /** * 截取字符串 len为字节长度 * @param str * @param len * @return * @throws UnsupportedEncodingException */ public static String getLimitLengthString( String str,int len){ try{ int counterOfDoubleByte = 0; byte[] b = str.getBytes("gb2312"); if
-
java 字符串截取的三种方法(推荐)
众所周知,java提供了很多字符串截取的方式.下面就来看看大致有几种. 1.split()+正则表达式来进行截取. 将正则传入split().返回的是一个字符串数组类型.不过通过这种方式截取会有很大的性能损耗,因为分析正则非常耗时. String str = "abc,12,3yy98,0"; String[] strs=str.split(","); for(int i=0,len=strs.length;i<len;i++){ System.out.pri
-
java 字符串分割的三种方法(总结)
最近在项目中遇到一个小问题,一个字符串分割成一个数组,类似String str="aaa,bbb,ccc"; 然后以","为分割符,将其分割成一个数组,用什么方法去实现呢? 第一种方法: 可能一下子就会想到使用split()方法,用split()方法实现是最方便的,但是它的效率比较低 第二种方法: 使用效率较高的StringTokenizer类分割字符串,StringTokenizer类是JDK中提供的专门用来处理字符串分割子串的工具类.它的构造函数如下: publ
-
JAVA字符串反转的三种方法
方法一:使用StringBuilder import java.util.Scanner; public class StrReversal { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String str = scanner.nextLine(); System.out.println(new StringBuilder(str).reverse()); } } 方法二
-
Java去掉数字字符串开头的0三种方法(推荐)
方式一: 例如:"0000123" (字符串必须全为数字) 处理过程: String tempStr = "0000123"; int result = Integer.parseInt(tempStr); result 结果:123 方式二: 例如:"0000123" 处理过程: String str = "0000123"; String newStr = str.replaceFirst("^0*",
-
Java 实现定时任务的三种方法
是的,不用任何框架,用我们朴素的 Java 编程语言就能实现定时任务. 今天,栈长就介绍 3 种实现方法,教你如何使用 JDK 实现定时任务! 1. sleep 这也是我们最常用的 sleep 休眠大法,不只是当作休眠用,我们还可以利用它很轻松的能实现一个简单的定时任务. 实现逻辑: 新开一个线程,添加一个 for/ while 死循环,然后在死循环里面添加一个 sleep 休眠逻辑,让程序每隔 N 秒休眠再执行一次,这样就达到了一个简单定时任务的效果. 实现代码如下: private stat
-
java字符串反转的7种方法
目录 1.用stringBuffer或者stringBuilder自带的reverse方法 2.将字符串拆分为char数组 3.stringBuffer倒序拼接 4.利用栈的先进后出 5.二分换位反转 6.切割递归反转 7.二分递归反转 1.用stringBuffer或者stringBuilder自带的reverse方法 public static String reverseTestOne(String s) { return new StringBuffer(s).r
-
Java打印数组的三种方法整理
目录 ①.使用 for 循环打印 ②.使用 Arrays.toString() 或 Arrays.deepToString() ③.使用 Arrays.asList() 补充:java byte数组打印 十六位数组打印输出 普通数组打印输出 总结 在Java开发中有时候需要打印数组信息,下面是整理归纳的几种打印数组方法:(如下) ①.使用 for 循环打印 最简单的方法,逐个遍历打印 注:如果是多维数组的话,使用多层 for 循环嵌套就可以打印了. 一维数组: public static voi
-
JavaScript实现字符串截取的三个方法总结
目录 substring() substr() slice() substring()和substr()的区别 方法补充 在 JavaScript 中,可以使用 substr().slice() 和 substring() 方法截取字符串. substring() substring() 方法返回一个字符串在开始索引到结束索引之间的一个子集,或从开始索引直到字符串的末尾的一个子集.语法如下: str.substring(indexStart[, indexEnd]) 参数说明: indexSta
-
js改变css样式的三种方法推荐
共用代码: <div id="div"> this is a div </div> var div=document.getElementById('div'); 第一种:用cssText div.style.cssText='width:250px;height:250px;border:1px red solid;'; 第二种:用setProperty() div.style.setProperty('width','250px'); div.style.s
-
ajax局部刷新实例 (三种方法推荐)
ajax局部刷新 <script> setInterval("refreshTime()",1000); //每格1秒刷新一次 funciton refreshTime() { var dateObj = new Date(); time.innerHTML = dateObj.toLocaleDateString(); //刷新div里面的内容 } </script> <div id=time> </div> function doRe
随机推荐
- Swift4.0 Array数组详解
- AngularJS基础 ng-list 指令详解及示例代码
- 一个精简的JS DIV层tab切换代码
- js获取浏览器高度 窗口高度 元素尺寸 偏移属性的方法
- 彻底搞懂JS无缝滚动代码
- js获取html文件的思路及示例
- PHP JSON格式数据交互实例代码详解
- PHP贪婪算法解决0-1背包问题实例分析
- Linux下交互式与非交互式修改用户密码的例子
- jQuery插件FusionWidgets实现的Cylinder图效果示例【附demo源码】
- 一天一个shell命令 linux好管家--磁盘--df命令详解
- jQuery的图片滑块焦点图插件整理推荐
- Javascript事件热键兼容ie|firefox
- javascript实时获取鼠标坐标值并显示的方法
- Java高级特性(基础)
- Android Activity跳转动画效果
- php笔记之:文章中图片处理的使用
- 详解将Eclipse代码导入到AndroidStudio的两种方式
- Django自定义manage命令实例代码
- 易语言用窗口消息实现无边框调整和窗口的移动方法