-
Java截取字符串的常见方法
2019-02-27 19:54:44在项目中经常会遇到截取字符串的需求,这里重点介绍两种常见的截取字符串方法。 方法一:通过split() 将正则传入split()。返回的是一个字符串数组类型。不过通过这种方式截取会有很大的性能损耗,因为分析正则非常...在我们日常工作中经常遇到截取字符串的需求,这里重点介绍两种常见的截取字符串方法。
方法一:通过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.com2.传入两个参数: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
-
-
截取字符串
2017-10-06 21:01:05编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个. 如“我ABC”,4,应该截取“我AB”, 输入“我ABC汉DEF”,6,应该输出“我ABC”,而不是“我ABC+汉...编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个.
如“我ABC”,4,应该截取“我AB”,
输入“我ABC汉DEF”,6,应该输出“我ABC”,而不是“我ABC+汉的半个”。
代码:
public class Test { public static void main(String[] args) throws Exception{ String str = "落尘曦a的abc博客def"; int num = trimGBK(str.getBytes("GBK"),8); System.out.println(str.substring(0,num) ); } public static int trimGBK(byte[] buf,int n){ int num = 0; boolean bChineseFirstHalf = false; for(int i=0;i<n;i++) { if(buf[i]<0 && !bChineseFirstHalf){ bChineseFirstHalf = true; }else{ num++; bChineseFirstHalf = false; } } return num; } }
输出:
落尘曦a
substring(int beginIndex)
返回一个新的字符串,它是此字符串的一个子字符串。该子字符串始于指定索引处的字符,一直到此字符串末尾。
例如:
"unhappy".substring(2) returns "happy"
"Harbison".substring(3) returns "bison"
"emptiness".substring(9) returns "" (an empty string)
参数:
beginIndex - 开始处的索引(包括)。
返回:指定的子字符串。
抛出:IndexOutOfBoundsException - 如果 beginIndex 为负或大于此 String 对象的长度。
----------------------------------------------------------------------------------------------------------------------------------------------------------------
substring(int beginIndex, int endIndex)
返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的 beginIndex 处开始, endIndex:到指定的 endIndex-1处结束。
示例:
"hamburger".substring(3,8) returns "burge"
"smiles".substring(0,5) returns "smile"
参数:
beginIndex - 开始处的索引(包括)。
endindex 结尾处索引(不包括)。
返回:指定的子字符串。
抛出:IndexOutOfBoundsException - 如果 beginIndex 为负,或length大于字符串长度。----------------------------------------------------------------------------------------------------------------------------------------------------------------
js示例
var str="Hello world!"
document.write(str.substring(1,3));
上面返回字符串:"el";
str.substring(1,2) //返回e
str.substring(1) //返回"ello world";
还有此函数中会出现奇怪的现象,当出现str.substring(5,0);
这又是怎么回事,不过返回的是"hello",
str.substring(5,1) //返回"ello",截去了第一位,返回余下的.
可见substring(start,end),可以有不同的说明,即start可以是要返回的长度,end是所要去掉的多少个字符(从首位开始).
在JS中,substr(start,length),用得较方便.
slice() 方法可通过指定的开始和结束位置,提取字符串的某个部分,并以新的字符串返回被提取的部分。
var str = "0123456789"; console.log("原始字符串:", str); console.log("从索引为3的字符起一直到结束:", str.slice(3)); //3456789 console.log("从倒数第3个字符起一直到结束:", str.slice(-3)); //789 console.log("从开始一直到索引为5的前一个字符:", str.slice(0,5)); //01234 console.log("从开始一直到倒数第3个字符的前一个字符:", str.slice(0,-3)); //0123456 console.log("从索引为3的字符起到索引为5的前一个字符:", str.slice(3,5)); //34 console.log("从索引为3的字符起到倒数第3个字符的前一个字符:", str.slice(3,-3)); //3456
substring 方法用于提取字符串中介于两个指定下标之间的字符。
var str = "0123456789"; console.log("原始字符串:", str); console.log("从索引为3的字符起一直到结束:", str.substring(3)); //3456789 console.log("从索引为20的字符起一直到结束:", str.substring(20)); // console.log("从索引为3的字符起到索引为5的前一个字符结束:", str.substring(3,5)); //34 console.log("start比end大会自动交换,结果同上:", str.substring(5,3)); //34 console.log("从索引为3的字符起到索引为20的前一个字符结束:", str.substring(3,20)); //3456789
substr 方法用于返回一个从指定位置开始的指定长度的子字符串。
var str = "0123456789"; console.log("原始字符串:", str); console.log("从索引为3的字符起一直到结束:", str.substr(3)); //3456789 console.log("从索引为20的字符起一直到结束:", str.substr(20)); // console.log("从索引为3的字符起截取长度为5的字符串:", str.substr(3,5)); //34567 console.log("从索引为3的字符起截取长度为20的字符串:", str.substr(3,20)); //3456789
indexOf返回字符串中匹配子串的第一个字符的下标。
var str = "JavaScript"; var i1 = str.indexOf("a"); //1 var i2 = str.indexOf("S"); //4 var i3 = str.indexOf("Script"); //4 var i4 = str.indexOf("k"); //-1 console.log("原始字符串:", str); console.log("a的索引:", i1); console.log("S的索引:",i2); console.log("Script的索引:",i3); console.log("k的索引:",i4);
lastIndexOf返回从右向左出现某个字符或字符串的首个字符索引值(与 indexOf 相反)
var str = "JavaScript"; var i1 = str.lastIndexOf("a"); //3 var i2 = str.lastIndexOf("S"); //4 var i3 = str.lastIndexOf("Script"); //4 var i4 = str.lastIndexOf("k"); //-1
split使用一个指定的分隔符把一个字符串分割存储到数组。
var str = "jpg|bmp|gif|ico|png"; var arr= str.split("|"); console.log(arr); // ["jpg","bmp","gif","ico","png"]
join使用一个指定的分隔符将一个数组合并为一个字符串。
var arr= new Array("jpg","bmp","gif","ico","png"); var str = arr.join("|"); console.log(str); //jpg|bmp|gif|ico|png
concat将两个数组连接在一起。
var arr1 = [1, 2, 3]; var arr2 = [4, 5, 6]; var arr3 = arr1.concat(arr2); console.log(arr3); //[1, 2, 3, 4, 5, 6]
charAt返回指定位置的字符。字符串中第一个字符的下标是 0。
var str = "abcdefg"; var char = str.charAt(2); console.log(char); //c
-
Python中的字符串切片(截取字符串)
2018-09-17 23:20:16字符串切片也就是截取字符串,取子串 Python中字符串切片方法 字符串[开始索引:结束索引:步长] 切取字符串为开始索引到结束索引-1内的字符串 步长不指定时步长为1 字符串[开始索引:结束索引] 练习样例 # 1....字符串索引示意图
字符串切片也就是截取字符串,取子串
Python中字符串切片方法
字符串[开始索引:结束索引:步长] 切取字符串为开始索引到结束索引-1内的字符串 步长不指定时步长为1 字符串[开始索引:结束索引]
练习样例
# 1.截取2 - 5位置的字符 num_str_1 = num_str[2:6] print(num_str_1)
# 2.截取2 - 末尾的字符 # 当开始索引和结束索引为开始和结束时可以省略不写 num_str_1 = num_str[2:] print(num_str_1) # 3.截取从开始 -5 位置的字符串 num_str_1 = num_str[0:6] print(num_str_1)
截取2-末尾的字符用 num_str_1 = num_str[2:-1]呢?
结果是不对的
它切取得范围是第一个参数到第二个参数-1,如果用 num_str_1 = num_str[2:-1],它的切片范围是索引2到-2的位置
即结果为2345678
# 4.截取完整的字符串 num_str_1 = num_str[:] print(num_str_1)
# 5.从开始位置,每隔一个字符截取字符串 num_str_1 = num_str[::2] print(num_str_1)
# 6.从索引1开始,每隔一个取一个 num_str_1 = num_str[1::2] print(num_str_1)
# 7.截取2 - 末尾-1 的字符串 num_str_1 = num_str[2:-1] print(num_str_1)
# 8.截取字符串末尾两个字符 num_str_1 = num_str[-2:] print(num_str_1)
# 9.字符串的逆序 num_str_1 = num_str[::-1] print(num_str_1) num_str_1 = num_str[-1::-1] print(num_str_1) # 那么我们试试用负数的索引可以取到字符串的什么值 print(num_str[-1])
-
Java中的substring截取字符串方法
2018-11-02 10:19:491. 在处理字符串的过程中有很多情况下会遇到需要截取字符串的情况,这个时候使用Java中提供的substring方法来截取就非常方便了 2. 其中比较经常使用到的方法有两个: ① public String substring(intbeginIndex) ...1. 问题描述
在处理字符串的过程中有很多情况下会遇到需要截取字符串的情况,这个时候使用Java中提供的substring方法来截取就非常方便了
2. 其中比较经常使用到的方法有两个:
① public String substring(int beginIndex)
这个方法截取的字符串是从索引beginIndex开始的,到整个字符串的末尾,例如:字符串String s = "abcdef";
调用s.substring(2)表示从字符串的索引2开始截取到整个字符串结束,截取的字符串为cdef
② public String substring(int beginIndex, int endIndex)
这个方法截取的字符串从beginIndex开始,到字符串索引的endIndex - 1结束,即截取的字符串不包括endIndex这个索引对应的字符,所以endIndex的最大值为整个字符串的长度,所以使用这个方法的时候需要特别注意容易发生字符串截取越界的问题
3. 下面是具体的代码:
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String s = sc.nextLine(); System.out.println(s.substring(0, 2)); System.out.println(s.substring(2)); sc.close(); } }
从控制台输入:saahdfasgfdga
-
php截取字符串|php截取字符串前几位|php截取中文字符串
2017-09-14 13:21:00截取字符串专题:php截取字符串函数,php 字符串长度,php截取字符串前几位 PHP截取中文字符串(mb_substr)和获取中文 =>http://www.q3060.com/list3/list117/22126.html php 截取字符串第一个字符和最后一个字符 ... -
asp截取字符串函数_asp怎么截取字符串
2017-06-27 15:10:25asp截取字符串函数_asp怎么截取字符串 '截取字符串 strvalue(标题,字数) function strvalue(str,lennum) dim p_num dim i if strlen(str) strvalue=str else p_num=0 x=0 -
python截取字符串后三位_python截取字符串后几位
2020-11-30 02:31:32字符串截取,也叫字符串切片,使用方括号[ ]来截取字符串,在Python中单字符也是作为一个字符串使用。字符串[开始索引:结束索引:步长]开始索引:从指定位置开始截取;结束索引:从指定位置结束截取,但不包含该... -
python截取字符串后三位_python如何截取字符串后几位
2020-11-30 02:31:29字符串切片也就是截取字符串,取子串。Python中字符串切片方法字符串[开始索引:结束索引:步长]切取字符串为开始索引到结束索引-1内的字符串步长不指定时步长为1,字符串[开始索引:结束索引]下面是基于python2+... -
python语法(二)——截取字符串的方法详解
2018-06-02 21:42:07python3+ print输出的内容要加括号str = '0123456789'print str[0:3] #截取第一位到第三位的字符print str[:] #截取字符串的全部字符print str[6:] #截取第七个字符到结尾print str[:-3] #截取从头开始到倒数第三个... -
iOS 字符串截取、iOS 字符串替换、iOS 字符串分隔、iOS 字符串匹配、截取字符串、匹配字符串、分隔字符串
2018-08-02 10:07:02iOS之字符串截取、iOS 字符串替换、iOS字符串分隔、iOS之字符串匹配、截取字符串、匹配字符串、分隔字符串 1.iOS 字符串截取 //1.ios截取字符串 NSString *string =@"123456d890"; NSString *str1 = ... -
vue截取一个字符串_vue如何截取字符串
2021-01-13 19:48:28摘要:这篇Vue栏目下的“vue如何截取字符串”,介绍的技术点是“vue如何截取字符串、截取字符串、截取字符、Vue、字符串、字符”,希望对大家开发技术学习和问题解决有帮助。在后端有许多的封装方法来截取字符串或者... -
C# winform中怎么实现左截取字符串和右截取字符串
2017-09-27 09:36:16C# winform中怎么实现左截取字符串和右截取字符串 C#中提供Substring方法可以实现相关功能。 首先我们回顾一下Substring方法。 用法一: String.Substring 方法 (startIndex, length) 返回此String中从 ... -
微信小程序WXML页面上直接截取字符串 wxs截取字符串
2020-11-24 20:43:40可以先浏览下官方文档,戳...在wxml页面中,只能在插值 {{ }} 中写简单的js表达式,而不能调用方法,例如想截取字符串,就不能调用slice()方法。 通常的解决办法是在page的data对象中先把这个字符串截取好赋给某个变 -
JSP 截取字符串 { EL表达式截取字符串}
2015-04-13 11:33:31如题:要在jsp页面上截取字符串 如:212.0000 格式化成 212 类型。如果在java后台做,这个很容易实现。今天找到了一种更好的方法:用 EL表达式截取字符串 1.首先在jsp页面中导入标签库: 2.格式化:${fn:... -
jsp 截取字符串(EL表达式截取字符串)
2018-10-25 10:11:41EL表达式截取字符串 1.首先在jsp页面中导入标签库:<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%> 2.格式化:${fn:split(results.biddingAmount,&... -
iOS开发:字符串处理:截取字符串、匹配字符串、分割字符串
2019-03-07 12:23:44分享一个比较基础的知识点,记录一下,以备以后...一、截取字符串 进行截取字符串的操作,需求不同截取的方式不同,这里只介绍下面的截取方式。 1、截取下标某一位之前的字符串 NSString *string = @"123... -
python截取特定字符前的字符_python如何截取字符串中特定部分,python截取中间字符串...
2021-01-13 13:32:42python如何截取字符串中特定部分Python如何截取字符串的特定部分,Python截取字符串的特定部分:[可以使用str[BeginIndex : endPosition]],其中STR是要截取的字符串,beginIndex是要截取的第一个字符的下标,End ... -
python同时截取字符串的前四位和后四位_python如何截取字符串后几位
2020-12-15 17:17:59字符串切片也就是截取字符串,取子串。Python中字符串切片方法字符串[开始索引:结束索引:步长]切取字符串为开始索引到结束索引-1内的字符串步长不指定时步长为1,字符串[开始索引:结束索引]下面是基于python2+... -
sql截取字符串拼接字符串修改字符串
2016-10-24 10:02:01截取字符串 substr( string, start_position, [ length ] ) string 为要截取的字符串 start_position为开始截取的位数(位数从1开始,如果是负数,表示从右边开始截取) length表示截取的长度(如果不写表示去后面... -
超好用!NSString 字符串处理:截取字符串、匹配字符串、分隔字符串 、分隔字符串
2017-05-25 18:49:44NSString 字符串处理:截取字符串、匹配字符串、分隔字符串 、分隔字符串 1.截取字符串NSString*string =@"sdfsfsfsAdfsdf"; string = [string substringToIndex:7];//截取掉下标7之后的字符串 NSLog(@"截取的值为:... -
js正则表达式截取字符串开头、结尾、以及两字符串之间的内容
2018-05-23 14:04:58js正则表达式截取字符串 1.正则表达式写法简介 var expression = / pattern /flags; 其中模式(pattern)部分可以是任何简单或复杂的正则表达式,每个正则表达式都带有一个或多个标签(flags)用以标明正则... -
JAVA中截取字符串中指定字符串
2019-09-06 15:14:06JAVA中截取字符串中指定字符串 举个例子,需要截取“abcdef”中的“cde”。 场景1:获取该字符串的下标。输出“cde”。 public static void main(String[] args) { // TODO Auto-generated method stub String ... -
根据字符串下标,截取字符串
2016-12-22 09:51:28根据字符串下标,截取字符串 -
golang 截取字符串
2020-03-01 20:08:06对于字符串操作,截取字符串是一个常用的, 而当你需要截取字符串中的一部分时,可以使用像截取数组某部分那样来操作,示例代码如下: package main import "fmt" func main() { str := "XBodyContentX" ... -
SQL截取字符串,SQL分割字符串函数,SQL字符串按指定的字符拆分
2019-02-19 10:14:22-- 截取字符串函数: -- SUBSTRING_INDEX(str, delim, count) -- str: 要处理的字符串。 -- delim: 分割符,将str分割成两部分。 -- count: 计数(使用第几个分隔符)。 如果为正数,则从左开始数,返回分割后左边... -
Mysql截取字符串
2019-01-16 14:26:09一、mysql截取字符串函数 1、left(str,index) 从左边第index开始截取 2、right(str,index)从右边第index开始截取 3、substring(str,index)当index>0从左边开始截取直到结束 当index&... -
excel截取字符串
2019-06-04 21:51:59截取字符串常用函数: 常用函数有:left函数,right函数和mid函数 left函数语法:left(text,num_chars),从左侧开始截取部分字符串 right函数语法:right(text,num_chars),从右侧开始截取部分字符串 其中:text... -
java截取字符串和在字符串中获取某个字符串做比较
2019-03-25 13:08:38Java截取字符串:主要有substring()、split()、substringBefore()、substringBeforeLast()四种,其实也是三种,因为第三第四其实就是一种,他们是String工具类提供的截取方法; 首先说的是正则的这种截取方法: ... -
C语言如何截取字符串中的子字符串
2019-03-20 11:00:29C语言中截取字符串 截取:开始的字符串 while(*p!=0x3a) { p++; } p++; while(*p!=0x3a)p字符串可以是我们获取的或者是我们自己定义的,这里我们是截取:之后或者字符串里的数字,我们观察这段字符串...