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