JavaScript类型系统之String(2)

var stringValue = 'hello world';
console.log(stringValue.substr());//'hello world'
console.log(stringValue.substr(2));//'llo world'
console.log(stringValue.substr(20));//空
console.log(stringValue.substr(-2,3));//'ld'
console.log(stringValue.substr(-2,20));//'ld'
console.log(stringValue.substr(-20,2));//'he'
console.log(stringValue.substr(-20,-2));//空   
console.log(stringValue.substr(2,5));//llo w

substring(a,b):a->子字符串开始位置、b->子字符串结束后一位的位置(可选,默认为原字符串长度)

  设原字符串长度为len

  [1]当a<0时,a=0;当b<0时,b=0

  [2]当a>b>0时,substring(b,a)

  [3]当a>=len时,无输出

  [4]当b>=len时,以最大字符数输出

var stringValue = 'hello world';
console.log(stringValue.substring());//'hello world'
console.log(stringValue.substring(2));//'llo world'
console.log(stringValue.substring(20));//空
console.log(stringValue.substring(-2,2));//'he'
console.log(stringValue.substring(-2,20));//'hello world'
console.log(stringValue.substring(3,2));//'l'
console.log(stringValue.substring(-20,2));//'he'
console.log(stringValue.substring(-20,-2));//空   

slice(a,b):a->子字符串开始位置,b->子字符串结束后一位的位置(可选,默认为原字符串长度)

  设原字符串长度为len

  [1]当 a>=len 时,不输出

  [2]当 a<0 且 |a|<len 时,a = len - |a|

  [3]当 a<0 且 |a|>= len 时,输出从(0)到(b)的位置

  [4]当 b>=len 时,相当于没有b

  [5]当 b<0 且 |b|<len 时,b = len - |b|

  [6]当 b<0 且 |b|>=len 时,不输出

  [7]当 a>b>0时,不输出

var stringValue = 'hello world';
console.log(stringValue.slice());//'hello world'
console.log(stringValue.slice(2));//'llo world'
console.log(stringValue.slice(2,-5));//'ll0'
console.log(stringValue.slice(2,-20));//空
console.log(stringValue.slice(20));//空
console.log(stringValue.slice(-2,2));//空
console.log(stringValue.slice(-2,-20));//空           
console.log(stringValue.slice(-2,20));//'ld'
console.log(stringValue.slice(-20,2));//'he'
console.log(stringValue.slice(-20,-2));//'hello wor'

字符串位置
 
  有两个从字符串中查找子字符串的方法indexOf()和lastIndexOf()。这两个方法都接受两个参数:要查找的子字符串和表示查找起点位置的索引(可选)。返回第一个满足条件的子字符串在字符串中的位置,若没有找到则返回-1(位置方法不会影响原字符串)

  [注意]返回值是Number类型

indexOf():从左到右搜索

lastIndexOf():从右到左搜索

var string = 'hello world world';
console.log(string.indexOf('ld',10));//15
console.log(string.lastIndexOf('ld',10));//9

[tips]查找出字符串所有符合条件的子字符串

function allIndexOf(str,value){
    var result = [];
    var pos = str.indexOf(value);
    while(pos > -1){
        result.push(pos);
        pos = str.indexOf(value,pos+value.length);
    }
    return result;
}
console.log(allIndexOf('helllhelllhelll','ll'));//[2,7,12]

大小写转换
 
toUpperCase():全部转换成大写

toLowerCase():全部转换成小写

toLocaleUpperCase():全部转换成大写(针对地区)

toLocaleLowerCase():全部转换成小写(针对地区)

  [注意]在不知道自己的代码将在哪个语言环境中运行的情况下,使用针对地区的方法更稳妥

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/38706af3bd107b702750a217b1bf2cd7.html