JavaScript:string

对于JavaScript中的字符串,记住一句话:“字符串创建后不可修改”!

一、字符串创建后不可修改

var s = 'abcd';
s[1]='e';
console.log(s[1]);    //'b'
console.log(s);       //'abcd'

二、常用方法

JavaScript 的字符串是不可变的(immutable),String 类定义的方法都不能改变字符串的内容,返回的是全新的字符串,而不是修改原始字符串。

名称

作用

示例

charAt()

返回在指定位置的字符。

示例:'abc'.charAt(1); //"b"

charCodeAt()

返回在指定的位置的字符的 Unicode 编码。

示例:'abc'.charCodeAt(1); //98

indexOf(searchvalue,fromindex)

检索字符串,返回对应下标。

示例:'abcabc'.indexOf('b',0); //1 'abcabc'.indexOf('b',2); //4

search(regexp)

检索与正则表达式相匹配的值,返回对应下标。

示例:'abcabc'.search('b'); //1 'abcabc'.search(/b/img); //1

match(regexp)

找到一个或多个正则表达式的匹配,没有返回null,否则返回数组

示例:'abcabc'.match('b'); //["b"] 'abcabc'.match(/b/img); //["b", "b"]

PS:上述regexp,可以是子串、也可以是正则。

fromCharCode()

从字符编码创建一个字符串。

示例:String.fromCharCode(65,66,67); //"ABC"

concat()

连接字符串。

示例:'abc'.concat('def','ghi');; //"abcdefghi"

substr()

从起始索引号提取字符串中指定数目的字符。

示例:'abcef'.substr(1,2); //"bc"

substring()

提取字符串中两个指定的索引号之间的字符。

示例:'abcef'.substring(1,2); //"b"

localeCompare()

用本地特定的顺序来比较两个字符串。

示例:'123'.localeCompare('123'); //0 '123'.localeCompare('456'); //-1 '456'.localeCompare('123'); //1 function sort(a,b){return a.localeCompare(b);} PS:把 < 和 > 运算符应用到字符串时,它们只用字符的 Unicode 编码比较字符串,而不考虑当地的排序规则。以这种方法生成的顺序不一定是正确的。例如,在西班牙语中,其中字符 “ch” 通常作为出现在字母 “c” 和 “d” 之间的字符来排序。

replace(regexp/substr,replacement)

替换与正则表达式匹配的子串。

示例:'abcabc'.replace('a','d'); //"dbcabc" 'abcabc'.replace(/a/g,'d'); //"dbcdbc"

slice(start,end)

提取字符串的片断,并在新的字符串中返回被提取的部分。

示例:'abcabc'.slice(1,2); //"b"

split()

把字符串分割为字符串数组。

示例:'abc'.split(''); //["a", "b", "c"]

toLocaleLowerCase()

把字符串转换为小写。

示例:'ABC'.toLocaleLowerCase(); //"abc"

toLocaleUpperCase()

把字符串转换为大写。

示例:'abc'.toLocaleUpperCase(); //"ABC"

toLowerCase(

把字符串转换为小写。

示例:'ABC'.toLowerCase(); //"abc"

toUpperCase()

把字符串转换为大写。

示例:'abc'.toUpperCase(); //"ABC"

PS:toLocaleLowerCase、toLocaleUpperCase只有几种语言(如土耳其语)具有地方特有的大小写映射,所有该方法的返回值通常与 toLowerCase()、toUpperCase() 一样。

toString()

返回字符串。

valueOf()

返回某个字符串对象的原始值。

PS:valueOf() 方法通常由JavaScript在后台自动进行调用,而不是显式地处于代码中。

三、正则

/pattern/attributes i 执行对大小写不敏感的匹配。

m 执行多行匹配。

g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券