JavaScript substring() 方法
定义和用法
substring() 方法用于提取字符串中介于两个指定下标之间的字符。
语法
stringObject.substring(start,stop)
参数 描述
start 必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。
stop
可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。
如果省略该参数,那么返回的子串会一直到字符串的结尾。
返回值
一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减 start。
说明
substring() 方法返回的子串包括 start 处的字符,但不包括 stop 处的字符。
如果参数 start 与 stop 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。如果 start 比 stop 大,那么该方法在提取子串之前会先交换这两个参数。
提示和注释
重要事项:与 slice() 和 substr() 方法不同的是,substring() 不接受负的参数。
例子 1
在本例中,我们将使用 substring() 从字符串中提取一些字符:
<script type="text/javascript">
var str="Hello world!"
document.write(str.substring(3))
</script>
lo world!
例子 2
在本例中,我们将使用 substring() 从字符串中提取一些字符:
<script type="text/javascript">
var str="Hello world!"
document.write(str.substring(3,7))
</script>
lo w
substring()的作用就是截取父字符串的某一部分
public String substring(int beginIndex, int endIndex)
第一个参数int为开始的索引,对应String数字中的开始位置,
第二个参数是截止的索引位置,对应String中的结束位置
1、取得的字符串长度为:endIndex - beginIndex;
2、从beginIndex开始取,到endIndex结束,从0开始数,其中不包括endIndex位置的字符
代码示例如下:
package com.example;
public class MyClass {
public static void main(String[] args){
String test = "Hello World !";
String subTest1 = test.substring(0,3);
System.out.println("subTest:" + subTest1);
String subTest2 = test.substring(0,test.length());
System.out.println("subTest:" + subTest2);
}
}
运行结果如下:
subTest:Hel
subTest:Hello World !
注意:
1)、substring(a,b)中的参数a其值可以从索引值0开始,
当a等于0时,则表示其从字符串的第一个字符开始算起,
也就是其子字符串是包含第一个字符的,当然,你也可以从后续的其他字符开始;
2)、substring(a,b)中的参数b,其值最大可以为 父字符串的长度,
但并不包含索引值为b的那个字符。
public static void main(String[] args) {
// 写一下截取 以路径为例 拿到4ecd16f4-e444-4b9d-b845-c97780294d75.tmp 最后这个
String path = "E:\\360浏览器\\360se6\\User Data\\4ecd16f4-e444-4b9d-b845-c97780294d75.tmp";
// substring(param1, param2)是截取字符串 param1-开始的位置 param2-结束的位置
// path.lastIndexOf("\\") 开始位置: 路径文件最后一个 “\\” 为开始位置
// path.lastIndexOf("\\")+1 开始位置: 路径文件最后一个 “\\” +1 再像后移动一个字符创的位置 为开始位置
String fileName = path.substring(path.lastIndexOf("\\") + 1, path.length());// 从\\处开始截取 一直到字符串末尾
// fileName 就截取出来
System.out.println(fileName);
String str = "今天是个好日子";// 我要把日子取出来
System.out.println(str.substring(5,7));// substring param1-开始的位置 param2-结束的位置
// 这是比较简单的
System.out.println(str.length());
System.out.println(str.indexOf("今"));
System.out.println(str.indexOf("天"));
System.out.println(str.indexOf("是"));
System.out.println(str.indexOf("个"));
System.out.println(str.indexOf("好"));// 此处开始 一直到最后
System.out.println(str.indexOf("日"));
System.out.println(str.indexOf("子"));
}
}
运行结果:
4ecd16f4-e444-4b9d-b845-c97780294d75.tmp
日子
7
0
1
2
3
4
5
6