【java 和 js】截取字符串的常用方法整理

news/2024/11/20 4:27:52/

java截取字符串相关的函数:

一、split()+正则表达式来进行截取

将字符串按照分割符截取,以数组形式返回.

//代码部分
String str = "hello, name, 12345, 6789";
String[] strs=str.split(",");
for(int i=0,len=strs.length;i<len;i++){System.out.println(strs[i]);
}/**运行结果
hello
name
12345
6789
*/

二、subString(start,end)

提取字符串中介于两个指定下标之间的字符。
substring也是传入两个参数,但是这两个参数都是下标数字,下标从0开始计算,截取的长度是这两个下标的差
可以记作"含头不含尾"
如: “abcdefg”.substring(2,4) -> “cd”

三、substr(index,length)

从起始索引号提取字符串中指定数目的字符。
substr方法可以传入两个参数 index和length。index是起始位,length是截取的长度。

当index是个非负整数时:a. 如果不传入参数,则得到的还是字符串本身。
如: "abcdefg".substr() -> "abcdefg"b. 如果只传入一个参数,即index,则默认截取到字符串最后一位。
如: "abcdefg".substr(2) -> "defg".当index是个负整数时:c. 如果传入一个负整数下标位则从后往前数,起始位为1,到达负整数绝对值的下标位,截取则是从前往后。如: "abcdefg".substr(-2) -> "fg" <=> "abcdefg".substr(-2 + "abcdefg".length)

四、StringUtils提供的方法

//与第一种方法效果一样
StringUtils.substring("hello world", 4);     // 返回值,从第4位截取到字符串末尾 : o wrold
StringUtils.substring("hello world", 4, 10); // 返回值,从第4位截取到第10位    : o wrol//截取某个字符串之前的字符
StringUtils.substringBefore("hello world", "l"); //结果是:he    这里是以第一个“l”为标准
StringUtils.substringBeforeLast("hello world", "l"); //结果为:hello wor   这里以最后一个“l”为标准//截取某个字符串之后的字符
StringUtils.substringAfter("hello world", "l"); //结果是:lo world    这里是以第一个“l”为标准
StringUtils.substringAfterLast("hello world", "l"); //结果为:d       这里以最后一个“l”为标准//截取两个字符串之间的字符
StringUtils.substringBetween("hello world", "o"); //结果是: w   两个o之间的字符串   
StringUtils.substringBetween("hello world", "l", "r"); //结果是: lo wo   第一个字符“l”与第一个字符“r”之间的字符串   
StringUtils.substringsBetween("hello world", "l", "r"); //结果是: 数组 [lo wo]   第一个字符“l”与第一个字符“r”之间的字符串,以数组形式返回,需要用Arrays.toString()才能显示[lo wo],不然是地址值。

五、indexOf()

1.indexOf(int ch) 在给定字符串中查找字符(ASCII),找到返回字符数组所对应的下标找不到返回-1
2.indexOf(String str)在给定符串中查找另一个字符串。。。返回下标
3.indexOf(int ch,int fromIndex)从指定的下标开始查找某个字符,查找到返回下标,查找不到返回-1
4.indexOf(String str,int fromIndex)从指定的下标开始查找某个字符串。。。返回下标

public class Test {public static void main(String[] args) {char[] ch= {'a','b','c','h','e','l','l','o'};String str=new String(ch);//1.indexOf(int ch)str.indexOf(104);System.out.println(str.indexOf(104));//h所在下标为3//2.indexOf(String str)str.indexOf("hell");System.out.println(str.indexOf("hell"));//3//3.indexOf(int ch,int fromIndex)str.indexOf(101, 4);//4System.out.println(str.indexOf(101, 4));str.indexOf(101,5);//没有查找到返回-1System.out.println(str.indexOf(101,5));//4.indexOf(String str,int fromIndex)str.indexOf("che", 0);//等价于str.indexOf("che")System.out.println(str.indexOf("che", 0));//2}
}

JS截取字符串相关的函数:

一、split():

功能:使用一个指定的分隔符把一个字符串分割存储到数组

str=”jpg|bmp|gif|ico|png”; 
arr=theString.split(|); 
//arr是一个包含字符值”jpg”、”bmp”、”gif”、”ico”和”png”的数组 

二、join():

功能:使用分隔符将一个数组合并为一个字符串

var delimitedString=myArray.join(delimiter); 
var myList=new Array(”jpg”,”bmp”,”gif”,”ico”,”png”); 
var portableList=myList.join(|); 
//结果是jpg|bmp|gif|ico|png 

三、indexOf():

功能:返回字符串中匹配子串的第一个字符的下标

var myString=JavaScript; 
var w=myString.indexOf(”v”);                        //w will be 2 
var x=myString.indexOf(S);                        //x will be 4 
var y=myString.indexOf(Script);                   //y will also be 4 
var z=myString.indexOf(”key”);                      //z will be -1 

四、substring():

功能:字符串截取,用于提取字符串中介于两个指定下标之间的字符,比如想从"MinidxSearchEngine”中得到"Minidx”就要用到substring(0,6)
语法 :stringObject.substring(start,stop)
参数 :start 必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject中的位置。
stop可选。一个非负的整数,比要提取的子串的最后一个字符在stringObject中的位置多 1。
如果省略该参数,那么返回的子串会一直到字符串的结尾。
返回值: 一个新的字符串,该字符串值包含 stringObject的一个子字符串,
其内容是从start处到 stop-1 处的所有字符,其长度为 stop减 start。
说明 :substring 方法返回的子串包括 start处的字符,但不包括 end 处的字符。 如果start与 end 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。
如果 start比 end大,那么该方法在提取子串之前会先交换这两个参数。 如果 start或end为负数,那么它将被替换为 0。

五、substr():

定义和用法:substr方法用于返回一个从指定位置开始的指定长度的子字符串。
语法:stringObject.substr(start [, length ])
参数:start 必需。所需的子字符串的起始位置。字符串中的第一个字符的索引为 0。
length可选。在返回的子字符串中应包括的字符个数。
说明: 如果 length 为 0 或负数,将返回一个空字符串。
如果没有指定该参数,则子字符串将延续到stringObject的最后。

var str = "0123456789"; alert(str.substring(0));------------"0123456789" 
alert(str.substring(5));------------"56789" 
alert(str.substring(10));-----------"" 
alert(str.substring(12));-----------"" 
alert(str.substring(-5));-----------"0123456789" 
alert(str.substring(-10));----------"0123456789" 
alert(str.substring(-12));----------"0123456789" 
alert(str.substring(0,5));----------"01234" 
alert(str.substring(0,10));---------"0123456789" 
alert(str.substring(0,12));---------"0123456789" 
alert(str.substring(2,0));----------"01" 
alert(str.substring(2,2));----------"" 
alert(str.substring(2,5));----------"234" 
alert(str.substring(2,12));---------"23456789" 
alert(str.substring(2,-2));---------"01" 
alert(str.substring(-1,5));---------"01234" 
alert(str.substring(-1,-5));--------"" alert(str.substr(0));---------------"0123456789" 
alert(str.substr(5));---------------"56789" 
alert(str.substr(10));--------------"" 
alert(str.substr(12));--------------"" 
alert(str.substr(-5));--------------"0123456789" 
alert(str.substr(-10));-------------"0123456789" 
alert(str.substr(-12));-------------"0123456789" 
alert(str.substr(0,5));-------------"01234" 
alert(str.substr(0,10));------------"0123456789" 
alert(str.substr(0,12));------------"0123456789" 
alert(str.substr(2,0));-------------"" 
alert(str.substr(2,2));-------------"23" 
alert(str.substr(2,5));-------------"23456" 
alert(str.substr(2,12));------------"23456789" 
alert(str.substr(2,-2));------------"" 
alert(str.substr(-1,5));------------"01234" 
alert(str.substr(-1,-5));-----------"" var t=window.location.href.split("/").length-1;
//将当前页面的URL以“/”分割,并获取所得数组的长度减1的数值(刚好是数组最后一个元素的索引值)
var str=window.location.href.split("/")[t].substr(0,4);
//截取数组最后一个元素中第一位到第五位的字符串

http://www.ppmy.cn/news/89117.html

相关文章

R语言绘制山脊图(也叫峰峦图、山峦图)

山脊图也叫也叫峰峦图、山峦图&#xff0c;主要是通过展示一个相同的X轴数据&#xff0c;可以是时间序列、基因数据等&#xff0c;对应不同的Y轴数据&#xff0c;清晰的展示不同数据见变量的关系。今天我们通过R语言来演示山脊图。需要使用到ggridges包&#xff0c;需要提前安装…

基础IO(总)

接口介绍 open&#xff1a; #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> int open(const char *pathname, int flags); int open(const char *pathname, int flags, mode_t mode); pathname&#xff1a;要打开或创建的目标文件 fla…

02数字图像基础

文章目录 2数字图像基础2.4图像取样和量化2.4.4图像内插 2.5像素间的一些基本关系2.5.1相邻像素2.5.2邻接性、连通性、区域和边界2.5.3距离度量 2.6 数字图像处理2.6.1阵列和矩阵操作2.6.2线性操作和非线性操作2.6.3算术操作2.6.5空间操作2.6.6向量与矩阵操作2.6.7图像变换2.6.…

Nginx一网打尽:动静分离、压缩、缓存、黑白名单、跨域、高可用、性能优化...

干货&#xff01;文章有点长&#xff0c;建议先收藏 目录索引 引言一、性能怪兽-Nginx概念深入浅出二、Nginx环境搭建三、Nginx反向代理-负载均衡四、Nginx动静分离五、Nginx资源压缩六、Nginx缓冲区七、Nginx缓存机制八、Nginx实现IP黑白名单九、Nginx跨域配置十、Nginx防盗链…

加密后的敏感字段还能进行模糊查询吗?该如何实现?

前言 有一个问题不知道大家想过没&#xff1f;敏感字段数据是加密存储在数据库的表中&#xff0c;如果需要对这些敏感字段进行模模糊查询&#xff0c;还用原来的通过sql的where从句的like来模糊查询的方式肯定是不行的&#xff0c;那么应该怎么实现呢&#xff1f;这篇文章就来…

[已解决] 决定系数R2为何为负 from sklearn.metrics import r2_score

最近在炼丹发现一件很有趣的现象&#xff0c;决定系数R2竟然为负&#xff0c;小学生都知道任何一个常数的平方绝不可能为负&#xff0c;潜意识里告诉我这里面必有蹊跷&#xff0c;因此查阅许多资料得知&#xff0c;决定系数R2不是r相关系数的平方这么简单&#xff0c;实际上当非…

天猫订单之数据分析与挖掘——认识数据

天猫订单之数据分析与挖掘——认识数据 文章目录 天猫订单之数据分析与挖掘——认识数据0. 写在前面1. 案例(数据集)总体介绍1.1 案例介绍1.2 数据集大小2. 总体分析2.1 框架图2.2 认识数据2.2.1 数据集类型2.2.2 数据对象及数据属性2.2.3 数据的基本统计描述0. 写在前面 Win…

c++使用yaml -基于windows10

参考&#xff1a;Windows10下使用VS2017编译和使用yaml-cpp库_雪域迷影的博客-CSDN博客 1. 下载yaml-cpp 建议在github下载其最新的官方版本&#xff0c;不要在其他平台下载该工具软件&#xff0c;下载地址如下&#xff08;其中的一个版本&#xff09;&#xff1a; Release …