字符串的截取indexOf与substring()

定义

indexOf()方法可返回某个指定的字符串值在字符串中首次出现的位置。

语法

stringObject.indexOf(searchvalue,fromindex)

 searchvalue规定需检索的字符串值。fromindex规定在字符串中开始检索的位置。合法取值是0到stringObject.length-1。

<script type="text/javascript">

var str="Hello world!"
document.write(str.indexOf("Hello") + "<br />")
document.write(str.indexOf("World") + "<br />")
document.write(str.indexOf("world"))

</script>

 输出

0
-1
6

如果要检索的字符串值没有出现,则该方法返回-1.

定义

substring()方法用于提取字符串中介于两个指定下标之间的字符。

语法

stringObject.substring(start,stop)

 例如:

<script type="text/javascript">

var str="Hello world!"
document.write(str.substring(3,7))

</script>

 输出

lo w

 当我们想截取某个长的字符串中的字符,例如带斤数的条形码,我们需要indexOf()和string结合。

function get_goods_information(inputs){ 
    var goods_barcode_count = {};
    inputs.forEach(function(input){
        if(goods_barcode_count[input] != undefined || input.indexOf("-") != -1)
        {
            goods_barcode_count[input] +=1;
            goods_barcode_count[input.substring(0,input.indexOf("-"))] = 
                input.substring(input.indexOf("-")+1,input.length);
         }
        else
        {
            goods_barcode_count[input] = 1;
        }
    });
    return goods_barcode_count
}

 

可以使用 JavaScript 的 `indexOf()` 方法来截取字符串。该方法可以返回指定子字符串在原字符串中第一次出现的位置,如果没有找到则返回 -1。 具体实现步骤如下: 1. 使用 `indexOf()` 方法查找指定子字符串在原字符串中第一次出现的位置。 例如: ```javascript let str = "Hello, world!"; let index = str.indexOf(","); // 查找逗号在字符串中第一次出现的位置 console.log(index); // 输出 5 ``` 2. 使用 `substring()` 方法截取字符串。 例如: ```javascript let subStr = str.substring(0, index); // 截取从起始位置到逗号位置之间的子字符串 console.log(subStr); // 输出 "Hello" ``` 综合起来,通过 `indexOf()` 方法截取字符串的完整代码如下所示: ```javascript let str = "Hello, world!"; let index = str.indexOf(","); // 查找逗号在字符串中第一次出现的位置 let subStr = str.substring(0, index); // 截取从起始位置到逗号位置之间的子字符串 console.log(subStr); // 输出 "Hello" ``` 需要注意的是,如果要截取的子字符串不存在于原字符串中,`indexOf()` 方法返回 -1,此时需要进行判断。例如: ```javascript let str = "Hello, world!"; let index = str.indexOf("!"); // 查找感叹号在字符串中第一次出现的位置 if (index !== -1) { let subStr = str.substring(0, index); // 截取从起始位置到感叹号位置之间的子字符串 console.log(subStr); // 输出 "Hello, world" } else { console.log("未找到指定子字符串"); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值