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