JS之字符串相关操作

(1) "10" < "8" 与 "10" - "8" < 0 的区别

  • "10" < "8":true
  • "10" - "8" < 0:false

(2)获取字符串最后一个字符

str.charAt(str.length - 1)

(3)删除字符串最后一个字符

s=s.Substring(0,s.Length-1)

(4) 删除字符串数组指定元素

let array = [1, 2, 3, 4];
array.splice(array.findIndex(item => item === 2), 1);

findIndex():满足条件时返回数元素下标,否则返回-1

splice(index, len, [item]):

  • 删除:[item]不设置,index:删除起始下标,len:删除的长度
    eg1:array.splice(1,1) 结果:[1, 3, 4]
  • 替换:[item]为替换的值,index:替换起始下标,len:替换的长度
    eg1:array.splice(1,2, '5') 结果:[1, 5, 4]
  • 添加(插入):[item]为替换的值,index:添加起始下标,len设置为0
    eg1:array.splice(1,0, '5') 结果:[1, 5, 2, 3, 4]

(5) 去除字符串指定字符

name = "liy";
var s = "'liy','yang','liy','ming','cong','yang'";//字符串
console.log("s-2:" + s);
var m = s.split(",");//获取字符串数组
m.forEach(function(item){
    if(item == name){
        var i = m.indexOf(item);//获取数组元素的索引
        m.splice(i,1);//从字符串数组中删除指定索引的元素
    }
});
s = m.join(",");
console.log("s-2:" + s);

name = "liy";
var s = "'liy','yang','liy','ming','cong','yang'";//字符串
console.log("s-2:" + s);
var m = s.split(",");//获取字符串数组
for(let i=0;i

split():字符串分割函数

(6) 去除指定字符串

  • 去掉字符串一次(最前面的)
var str="hello world!";
str=str.replace("l","");//输出:"helo world!"

replace():字符串替换函数

  • 去掉相同字符串(所有的):使用字符串分割函数再聚合
    var str="hello world!"
    var items=str.split("o")//item为["hell", " w", "rld!"],w前面有个空格
    console.log(items.join(""));//输出:hell wrld!
  • 去除指定数组元素
var arr = [1,2,2,1];
for(let i=0;i

(7) 取后几位(去掉前几位,保留后几位)

  • slice方法(截取掉前三位字符,保留后几位)
var str="abc12345";
alert(str.slice(3))   //   =>  12345
  • substring方法(截取掉前三位字符,保留后几位)
var str="abc12345";
alert(str.substring(3));    //   =>  12345

(8) 判断是否存在指定字符(求指定字符在字符串中第一次出现的位置)

if(a.indexOf('.') != -1){ //校验小数点(字符串中不存在指定字符返回-1,存在则返回位置)
    console.log("存在小数点,所在位置为:" + a.indexOf('.') );
}

(9) js判断一个字符串是否包含在另一个字符串中

可用 includesindexOfsearch 方法来实现。

var str    = "My jianshu name is Sewenfengqing",
    substr = "Sewenfengqing";
function isContains1(str, substr) {
    return str.indexOf(substr) >= 0;
}
console.log(isContains1(str, substr)); // => true

function isContains2(str, substr) {
   return new RegExp(substr).test(str);
}
console.log(isContains2(str, substr)); // => true

function isContains3(str, substr) {
   return str.includes(substr);
}
console.log(isContains3(str, substr)); // => true

//function isContains4(str, substr) {
//   return str.contains(substr);//此方法目前只有Firefox支持,还处于ECMAScript 6草案中
//}
//console.log(isContains4(str, substr));  // => str.contains is not a function

注意:在Java语言中,contains 可以用于俩字符串的包含关系;原生JS中是有contains方法的,但它并不是字符串方法,仅用于判断DOM元素的包含关系,参数是Element类型。

image.png

  • includes
filterSearch(e){
    console.log("输入:"+e.detail.value);
    for (var i = 0; i < _self.dList.length; i++) {
        if(_self.dList[i].value.toLowerCase().includes(e.detail.value.toLowerCase())){
            console.log(_self.dList[i].value);
        }
    }
},
  • indexOf
getImgUrl:function(item){
    // var requestUrl = "http://" + _self.getIP() + "/" + item;
    console.log(item);
    var requestUrl = "";
    if(item.indexOf("http") != -1){
        requestUrl = item
    }else{
        requestUrl = "http://" + _self.getIP() + "/" + item;
    }
    return requestUrl;
},
  • search
filterSearch(e){
    console.log("输入:"+e.detail.value);
    for (var i = 0; i < _self.dList.length; i++) {
        if(_self.dList[i].value.toLowerCase().search(e.detail.value.toLowerCase()) != -1){
            console.log(_self.dList[i].value);
        }
    }
},

你可能感兴趣的:(JS之字符串相关操作)