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);
//截取数组最后一个元素中第一位到第五位的字符串