JS字符串常用方法

字符串的常用方法

字符串的方法很多,但是常用的就那么些,还有些都没有这么用过,下面简单介绍下

1.charAt(index): 返回指定下表的值,返回值新的字符串,不影响原来的字符串

let str = 'hello';
let newStr = str.charAt(1);
console.log(str)      // hello
console.log(newStr)   // e

2.charCodeAt(index): 返回指定下表的值的unicode值,返回值是Unicode码,不影响原来的字符串

let str = 'hello';
let newStr = str.charCodeAt(1);
console.log(str)      // hello
console.log(newStr)   // 101

3.fromCharcode(u1,u2,u3): 这个是String自己使用的静态方法,参数是unicode码,返回对应的值

let str = String.fromCharCode(72,69,76,76,79);
let str1 = String.fromCharCode(97,98,99)
console.log(str)      // HELLO
console.log(str1)     // abc

4.concat(val1,val2,val3,val4...): 连接两个或多个字符串,不改变现有的字符串,返回值是拼接后的字符串

let str = 'hello';
let newStr = str.concat('world','!','.....');
console.log(str)      // hello
console.log(newStr)   // helloworld!.....

5.indexOf(str, [start]): 查找字符串中时候包含某个值,找到返回第一个出现的位置的索引值,找不到返回-1,start是查找开始的位置,start的位置包含在查找的范围中,是可选的,可以不写,默认就从0开始查起。

let str = 'hello';
console.log(str.indexOf('el'))      // 1
console.log(str.indexOf('al'))      // -1
console.log(str.indexOf('el',2))    // -1

6.lastIndexOf(str, [start]): lastIndexOf和indexOf一样的使用,只是返回的是最后一次出现的位置索引值,找不到返回-1,start是查找开始的位置,是可选的,可以不写,默认就从string.length-1开始查起,也就是说从后往前面查的。

let str = 'hello';
console.log(str.lastIndexOf('l'))      // 3
console.log(str.lastIndexOf('c'))      // -1
console.log(str.lastIndexOf('l',2))    // 2

7.replace(regexp|str, replacetext): 用于把字符串中的某些字符串替换成其他字符串,但是只替换一次,也就是说如果字符串中有多个,但是只会替换第一个符合的值。还有一种是使用正则,是把符合正则的替换成自己要替换的内容。不会改变原字符串。

let str = ' hello world ';
let newStr1 = str.replace('l','a')
let newStr2 = str.replace(/\s*/g,'')
let newStr3 = str.replace(/^\s*|\s*$/g,'')
console.log(str)        // ' hello world '
console.log(newStr1)    // ' healo world '
console.log(newStr2)    // 'helloworld',这个是去除所有空格
console.log(newStr3)    // 'hello world', 这个是去除字符串两头的空格

8.trim(): 删除字符串两端的空格。

let str = ' hello world ';
let newStr1 = str.trim()
console.log(str)        // ' hello world '
console.log(newStr1)    // 'healo world'

9.slice(start, [end]):截取字符串,返回一个新的字符串,不会改变原字符串。新的字符串是从start位置开始,end结束,但是不包括end的位置

let str = 'hello world';
let newStr1 = str.slice(1)
let newStr2 = str.slice(1,3)
console.log(str)        // 'hello world'
console.log(newStr1)    // 'ello world'
console.log(newStr2)    // 'el'

10.substr(start, [length]):截取字符串,返回一个新的字符串,不会改变原字符串。新的字符串是从start位置开始,截取length长度的字符串,没有的话,默认截取到结尾

let str = 'hello world';
let newStr1 = str.substr(1)
let newStr2 = str.substr(1,3)
console.log(str)        // 'hello world'
console.log(newStr1)    // 'ello world'
console.log(newStr2)    // 'ell'

11.substring(start, [end]):截取字符串,返回一个新的字符串,不会改变原字符串。新的字符串是从start位置开始,end结束,但是不包括end的位置

let str = 'hello world';
let newStr1 = str.substring(1)
let newStr2 = str.substring(1,3)
console.log(str)        // 'hello world'
console.log(newStr1)    // 'ello world'
console.log(newStr2)    // 'el'

12.split(separator, [limit]):把字符串按照指定分割成一个数组,一个参数是指定字符串或者正则,第二个参数是数组的最大长度,选填。

let str = 'helloworld';
let str1 = 'hello,world';
let newStr1 = str.split('')
let newStr2 = str1.split(',')
console.log(str)        // helloworld
console.log(newStr1)    // ['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']
console.log(newStr2)    // ['hello', 'world']

PS:字符串可以转数组,数组也可以转字符串,方法是join()
let arr = ['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']
let str = arr.join("")
console.log(str)

13.toLowerCase(str):把字符串都变成小写,英文

let str = 'HELLOWORLD';
let newStr1 = str.toLowerCase('')
console.log(str)        // HELLOWORLD
console.log(newStr1)    // helloworld

14.toUpperCase(str):把字符串都变成大写,英文

let str = 'helloworld';
let newStr1 = str.toUpperCase('')
console.log(str)        // helloworld
console.log(newStr1)    // HELLOWORLD

15.repeat(number): 重复字符串,number必须是一个正整数

let str = 'helloworld';
let newStr1 = str.repeat(3)
console.log(str)        // helloworld
console.log(newStr1)    // helloworldhelloworldhelloworld

16.endsWith(str): 检查字符串是不是以指定字符串结束的

let str = 'helloworld';
let newStr1 = str.endsWith('ld')
console.log(str)        // helloworld
console.log(newStr1)    // true

17.includes(str): 检查字符串是否包含指定的字符串或字符

let str = 'helloworld';
let newStr1 = str.includes('ld')
console.log(str)        // helloworld
console.log(newStr1)    // true

18.match(regexp): 根据正则或者字符串来查找字符串中是否包含匹配的项,返回数组或者null

let str = 'helloworld';
let newStr1 = str.match('ld')
console.log(str)        // helloworld
console.log(newStr1)    // ['ld', index: 8, input: 'helloworldld', groups: undefined]

19.search(regexp): 根据正则或者字符串来查找是否包含匹配项,有的话返回索引,没有返回-1

let str = 'helloworld';
let newStr1 = str.search('ld')
console.log(str)        // helloworld
console.log(newStr1)    // 8

20.localeCompare(str): 判断每个字母的排序,在当前字符串前面返回正值,在后面就是负值,一样的就返回0

let str = 'helloworld';
let newStr1 = str.localeCompare('ad')
let newStr2 = str.localeCompare('helloworld')
let newStr3 = str.localeCompare('halloworld')
let newStr4 = str.localeCompare('id')
console.log(str)        // helloworld
console.log(newStr1)    // 1
console.log(newStr2)    // 0
console.log(newStr3)    // -1
console.log(newStr4)    // -1
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350

推荐阅读更多精彩内容

  • JavaScript字符串的常用方法 charAt 作用:找到字符串指定索引位置的字符串 语法:字符串.charA...
    LIsunshine阅读 360评论 0 1
  • 一、获取字符串指定位置的值 charAt()和charCodeAt()方法都可以通过索引来获取指定位置的值: ch...
    接下来的冬天阅读 742评论 0 0
  • 字符串对象的属性 字符串对象的方法(说明: 底色为土黄色的文字部分主要标明改部分的主要特征标签) String对象...
    南航阅读 1,102评论 0 0
  • 1、charAt() 功能:返回指定位置字符 2、concat() 功能:用于连接两个或多个字符串生成一个新的字符...
    懂会悟阅读 1,405评论 0 0
  • charAt 作用:返回字符串(index)为下标参数:str.charAt(index) charCodeAt ...
    箫筱乐阅读 280评论 0 1