• String ##字符处理


    查找字符串

    indexOf

    indexOf(start,end),接收两个参数,返回某个指定的子字符串在字符串中地一次出现的位置,如果没有就返回-1,它默认是从下标0开始查咋的。

    let str = "Hello World";
    let str1 = str.indexOf("o");
    let str2 = str.indexOf("world");
    let str3 = str.indexOf("o", 5);
    
    console.log(str1);   // 4 
    console.log(str2);   // -1 没有找到
    console.log(str3);   // 7

    includes()

    返回布尔值,表示是否存在,第二个参数是开始搜索的位置。

    let s = 'Hello world!';
    s.includes('o') // true
    s.includes('Hello', 6) // false

    startsWith()

    返回布尔,表示是否在原字符串的头部,第二个表示开始搜索的位置。

    let s = 'Hello world!';
    s.startsWith('Hello') // true
    s.startsWith('world', 6) // true

    endsWith()

    返回布尔,是否在原字符串的尾部,第二个参数表示开始搜索的位置。

    let s = 'Hello world!';
    s.endsWith('!') // true
    s.endsWith('Hello', 5) // true

    截取字符串

    slice()

    slice(start,length)开始位置,长度;返回字符串中提取的子字符串

    var str = "Hello World";
    var str1 = str.slice(2);        // 如果只有一个参数,则提取开始下标到结尾处的所有字符串
    var str2 = str.slice(2, 7);     // 两个参数,提取下标为2,到下标为7但不包含下标为7的字符串
    var str3 = str.slice(-7, -2);   // 如果是负数,-1为字符串的最后一个字符。
    
    console.log(str1);  // llo World
    console.log(str2);  // llo W
    console.log(str3);  // o Wor
    

    substring(start,end):提取字符串中介于两个指定下标的字符,用法和slice一样但参数不能是负数;

    var str = "Hello World";
    var str1 = str.substring(2)
    var str2 = str.substring(2,2);
    var str3 = str.substring(2,7);
    
    console.log(str1);  // llo World
    console.log(str2);  // 如果两个参数相等,返回长度为0的空串
    console.log(str3);  // llo W

    substr(start, length): 返回从指定下标开始指定长度的的子字符串

    var str = "Hello World";
    var str1 = str.substr(1)
    var str2 = str.substr(1, 3);
    var str3 = str.substr(-3, 2);
    
    console.log(str1);   // ello World 
    console.log(str2);   // ell
    console.log(str3);   // rl

    split() 把字符串分割成字符串数组。

    var str = "AA BB CC DD";
    var string1 = "1:2:3:4:5";
    var str1 = str.split("");          // 如果把空字符串 ("")用作分割符,那么字符串的每个字符之间都会被分割
    var str2 = str.split(" ");         // 以空格为分隔符
    var str3 = str.split("", 4);       // 4指定返回数组的最大长度
    var str4 = string1.split(":");
    
    console.log(str1);      // ["A", "A", " ", "B", "B", " ", "C", "C", " ", "D", "D"]
    console.log(str2);     // ["AA" "BB" "CC" "DD"]
    console.log(str3);     // ["A", "A", " ", "B"]
    console.log(str4);     // ["1", "2", "3", "4", "5"]

    search(value)查找字符串或者正则表达式,返回字符串的位置,如果没找到就返回-1;

    var str = "To be or not to be";
    var reg = /o/ig;
    var str1 = str.search(reg);
    var str2 = str.search('or');
    
    console.log(str1);     // 1
    console.log(str2);     // 6

    match(regexp): 字符串内检索指定的值,或找到一个或多个正则表达式的匹配。返回数组。

    var str="To be or not to be";
    var reg=/to/ig;
    var str1=str.match(reg);
    
    console.log(str1); //["To", "to"]
    console.log(str.match("Hello")); //null
  • 相关阅读:
    POJ 2541 Binary Witch(逆序KMP,好题)
    POJ 2185 Milking Grid (KMP,求最小覆盖子矩阵,好题)
    POJ 3336 Count the string (KMP+DP,好题)
    POJ 1961 2406 (KMP,最小循环节,循环周期)
    POJ 3450 Corporate Identity (KMP,求公共子串,方法很妙)
    KMP模板,最小循环节
    BZOJ 2741 【FOTILE模拟赛】L(可持久化trie)
    BZOJ 2820 YY的GCD(莫比乌斯反演)
    VIJOS 1889 天真的因数分解(莫比乌斯反演,容斥原理)
    BZOJ 2440 完全平方数(莫比乌斯反演,容斥原理)
  • 原文地址:https://www.cnblogs.com/jstll/p/14410964.html
Copyright © 2020-2023  润新知