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

ゞ 浴缸里的玫瑰 2023-10-10 20:47 102阅读 0赞

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

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

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

  1. //代码部分
  2. String str = "hello, name, 12345, 6789";
  3. String[] strs=str.split(",");
  4. for(int i=0,len=strs.length;i<len;i++){
  5. System.out.println(strs[i]);
  6. }
  7. /**运行结果
  8. hello
  9. name
  10. 12345
  11. 6789
  12. */

二、subString(start,end)

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

三、substr(index,length)

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

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

四、StringUtils提供的方法

  1. //与第一种方法效果一样
  2. StringUtils.substring("hello world", 4); // 返回值,从第4位截取到字符串末尾 : o wrold
  3. StringUtils.substring("hello world", 4, 10); // 返回值,从第4位截取到第10位 : o wrol
  4. //截取某个字符串之前的字符
  5. StringUtils.substringBefore("hello world", "l"); //结果是:he 这里是以第一个“l”为标准
  6. StringUtils.substringBeforeLast("hello world", "l"); //结果为:hello wor 这里以最后一个“l”为标准
  7. //截取某个字符串之后的字符
  8. StringUtils.substringAfter("hello world", "l"); //结果是:lo world 这里是以第一个“l”为标准
  9. StringUtils.substringAfterLast("hello world", "l"); //结果为:d 这里以最后一个“l”为标准
  10. //截取两个字符串之间的字符
  11. StringUtils.substringBetween("hello world", "o"); //结果是: w 两个o之间的字符串
  12. StringUtils.substringBetween("hello world", "l", "r"); //结果是: lo wo 第一个字符“l”与第一个字符“r”之间的字符串
  13. 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)从指定的下标开始查找某个字符串。。。返回下标

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

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

一、split():

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

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

二、join():

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

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

三、indexOf():

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

  1. var myString=”JavaScript”;
  2. var w=myString.indexOf(”v”); //w will be 2
  3. var x=myString.indexOf(”S”); //x will be 4
  4. var y=myString.indexOf(”Script”); //y will also be 4
  5. 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的最后。

  1. var str = "0123456789";
  2. alert(str.substring(0));------------"0123456789"
  3. alert(str.substring(5));------------"56789"
  4. alert(str.substring(10));-----------""
  5. alert(str.substring(12));-----------""
  6. alert(str.substring(-5));-----------"0123456789"
  7. alert(str.substring(-10));----------"0123456789"
  8. alert(str.substring(-12));----------"0123456789"
  9. alert(str.substring(0,5));----------"01234"
  10. alert(str.substring(0,10));---------"0123456789"
  11. alert(str.substring(0,12));---------"0123456789"
  12. alert(str.substring(2,0));----------"01"
  13. alert(str.substring(2,2));----------""
  14. alert(str.substring(2,5));----------"234"
  15. alert(str.substring(2,12));---------"23456789"
  16. alert(str.substring(2,-2));---------"01"
  17. alert(str.substring(-1,5));---------"01234"
  18. alert(str.substring(-1,-5));--------""
  19. alert(str.substr(0));---------------"0123456789"
  20. alert(str.substr(5));---------------"56789"
  21. alert(str.substr(10));--------------""
  22. alert(str.substr(12));--------------""
  23. alert(str.substr(-5));--------------"0123456789"
  24. alert(str.substr(-10));-------------"0123456789"
  25. alert(str.substr(-12));-------------"0123456789"
  26. alert(str.substr(0,5));-------------"01234"
  27. alert(str.substr(0,10));------------"0123456789"
  28. alert(str.substr(0,12));------------"0123456789"
  29. alert(str.substr(2,0));-------------""
  30. alert(str.substr(2,2));-------------"23"
  31. alert(str.substr(2,5));-------------"23456"
  32. alert(str.substr(2,12));------------"23456789"
  33. alert(str.substr(2,-2));------------""
  34. alert(str.substr(-1,5));------------"01234"
  35. alert(str.substr(-1,-5));-----------""
  36. var t=window.location.href.split("/").length-1;
  37. //将当前页面的URL以“/”分割,并获取所得数组的长度减1的数值(刚好是数组最后一个元素的索引值)
  38. var str=window.location.href.split("/")[t].substr(0,4);
  39. //截取数组最后一个元素中第一位到第五位的字符串

发表评论

表情:
评论列表 (有 0 条评论,102人围观)

还没有评论,来说两句吧...

相关阅读

    相关 JS截取字符串方法

    前言 截取字符串的使用比较广泛,有很多中方法,本文粗略的整理了一些,感兴趣的额朋友可以才参考下 函数:split() 功能:使用一个指定的分隔符把一个字符串分割存