JavaScript提供两个截取字符串的方法,分别是slice()和substring()。
slice和substring都可以接受一个或两个参数,第1个参数是获取要截取的字符串的起始位置,第2个参数如果不为空则是获取要截取的字符串的结束位置的前一位(也就是说获取的终点位置不在返回值内),为空表示截取到整个字符串的最后一个字符。
我们来看下两种方法的用法。注意:字符串的位数都是从0开始:
<script language="javascript"> var stmp = "goorder.net"; //使用一个参数 alert(stmp.slice(3));//从第4个字符开始,截取到最后个字符;返回"amagic.net" alert(stmp.substring(3));//从第4个字符开始,截取到最后个字符;返回"amagic.net" //使用两个参数 alert(stmp.slice(1,5))//从第2个字符开始,到第5个字符;返回"owam" alert(stmp.substring(1,5));//从第2个字符开始,到第5个字符;返回"owam" //如果只用一个参数并且为0的话,那么返回整个参数 alert(stmp.slice(0));//返回整个字符串 alert(stmp.substring(0));//返回整个字符串 //那如何只反回第一个字符呢,可以用其它的函数,那如果一定要用这两个方法的话就指定第一个参数为0,第二个参数为1,看下面的例子 alert(stmp.slice(0,1));//返回"n" alert(stmp.substring(0,1));//返回"n" //在上面的例子中我们可以看出slice()和substring()的用法是相同的,返回的值也是一样的,但当参数为负数时,他们的返回值却不一样,看下面的例子 alert(stmp.slice(2,-5));//返回"w" alert(stmp.substring(2,-5));//返回"no" //从上面两个例子可以看出slice(2,-5)实际上是slice(2,3),负5转换成正3;而substring(2,-5)实际上是substring(2,0),负数转换为0,swubstring总是把最小的数作为起始位置。 </script>
String.substr(N1,N2) 这个就是我们常用的从指定的位置(N1)截取指定长度(N2)的字符串;
String.substring(N1,N2) 这个就有点特别了,它是先从N1,N2里找出一个较小的值,然后从字符串的开始位置算起,截取较小值位置和较大值位置之间的字符串,截取出来的字符串的长度为较大值与较小值之间的差。
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