Skip to content

字符串方法

操作方法

我们也可将字符串常用的操作方法归纳为增、删、改、查

这里增的意思并不是说直接增添内容,而是创建字符串的一个副本,再进行操作

除了常用+以及${}进行字符串拼接之外,还可通过 concat

concat()

concat()用于将一个或多个字符串拼接成一个新字符串

javascript
let stringValue = "hello ";
let result = stringValue.concat("world");
console.log(result); // "hello world"
console.log(stringValue); // "hello"

这里的删的意思并不是说删除原字符串的内容,而是创建字符串的一个副本,再进行操作

常见的有:slice() substr() substring() 这三个方法都返回调用它们的字符串的一个子字符串,而且都接收一或两个参数。

slice()

js
slice(start, end) 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分  负数表示从后面开始数
console.log(str.slice(2,4)); //ll
console.log(str.slice(-1)); //d  -1表示最后一个字符串
console.log(str.substring(-1));   //-1   表示0

substr()

js
substr(start,length)方法可在字符串中抽取从开始下标开始的指定数目的字符  需要注意的是: 空格也是字符
console.log(str.substr(4));  //o wrold      hello wrold
console.log(str.substr(2,4));  //substr(start,length)   llo

substring()

js
substr(from,to)方法用于提取字符串中介于两个指定下标之间的字符   负数表示0
console.log(str.substring(4));  //o wrold
console.log(str.substring(2,4));  //substr(from,to)   ll

slice()和 substring()区别

第二个参数为负数时,结果有区别

这里改的意思也不是改变原字符串,而是创建字符串的一个副本,再进行操作

常见的有: trim()、trimLeft()、trimRight() repeat() padStart()、padEnd() toLowerCase()、 toUpperCase()

trim()、trimLeft()、trimRight()

删除前、后或前后所有空格符,再返回新的字符串

javascript
let stringValue = " hello world ";
let trimmedStringValue = stringValue.trim();
console.log(stringValue); // " hello world "
console.log(trimmedStringValue); // "hello world"

repeat()

接收一个整数参数,表示要将字符串复制多少次,然后返回拼接所有副本后的结果

javascript
tringValue = "na ";
let copyResult = stringValue.repeat(2); // na na

padEnd()

复制字符串,如果小于指定长度,则在相应一边填充字符,直至满足长度条件

javascript
let stringValue = "foo";
console.log(stringValue.padStart(6)); // " foo"
console.log(stringValue.padStart(9, ".")); // "......foo"

toLowerCase()、 toUpperCase()

大小写转化

javascript
let stringValue = "hello world";
console.log(stringValue.toUpperCase()); // "HELLO WORLD"
console.log(stringValue.toLowerCase()); // "hello world"

除了通过索引的方式获取字符串的值,还可通过:

chatAt()

chatCodeAt()

fromCharCode()

indexOf()

startWith()

includes()

charAt()

返回给定索引位置的字符,由传给方法的整数参数指定

javascript
let message = "abcde";
console.log(message.charAt(2)); // "c"

chatCodeAt()

065535 之间的整数,表示给定索引处的 UTF-16 代码单元

具体

js
"ABC".charCodeAt(0); // returns 65: "A"

"ABC".charCodeAt(1); // returns 66: "B"

"ABC".charCodeAt(2); // returns 67: "C"

"ABC".charCodeAt(3); // returns NaN

fromCharCode()

fromCharCode()方法返回由指定的 UTF-16 代码单元序列创建的字符串。 跟 chatCodeAt()相反

具体

js
String.fromCharCode(65); // 'A'

indexOf()

从字符串开头去搜索传入的字符串,并返回位置(如果没找到,则返回 -1 )

javascript
let stringValue = "hello world";
console.log(stringValue.indexOf("o")); // 4

startWith()、includes()

从字符串中搜索传入的字符串,并返回一个表示是否包含的布尔值

javascript
let message = "foobarbaz";
console.log(message.startsWith("foo")); // true
console.log(message.startsWith("bar")); // false
console.log(message.includes("bar")); // true
console.log(message.includes("qux")); // false

字符串成转换方法

split ()

split () 把字符串按照指定的分割符,拆分成数组中的每一项

javascript
let str = "12+23+34";
let arr = str.split("+"); // [12,23,34]

toString()

toString()返回指定对象的字符串形式。

js
var x = new String("Hello world");
typeof x; // object
console.log(x.toString()); // 输出 "Hello world"

valueOf()

valueOf()返回 String 对象的原始值

js
var x = new String("Hello world");
typeof x; // object
console.log(x.valueOf()); // Displays 'Hello world'

模板匹配方法

针对正则表达式,字符串设计了几个方法: match() search() replace()

match()

接收一个参数,可以是一个正则表达式字符串,也可以是一个 RegExp 对象,返回数组

javascript
let text = "cat, bat, sat, fat";
let pattern = /.at/;
let matches = text.match(pattern);
console.log(matches[0]); // "cat"

接收一个参数,可以是一个正则表达式字符串,也可以是一个 RegExp 对象,找到则返回匹配索引,否则返回 -1

javascript
let text = "cat, bat, sat, fat";
let pos = text.search(/at/);
console.log(pos); // 1

replace()

接收两个参数,第一个参数为匹配的内容,第二个参数为替换的元素(可用函数)

javascript
let text = "cat, bat, sat, fat";
let result = text.replace("at", "ond");
console.log(result); // "cond, bat, sat, fat"

不常用方法

localeCompare

localeCompare() 方法返回一个数字 来指示一个参考字符串是否在排序顺序前面或之后或与给定字符串相同。

js
var arr = ["小明", "王大锤", "你好", "欢迎", "谢谢", "七七"];
arr.sort(function compareFunction(item1, item2) {
  return item1.localeCompare(item2);
});
// (6) ["欢迎", "你好", "七七", "王大锤", "小明", "谢谢"]


⭐️⭐️⭐️ 好啦!!!本文章到这里就结束啦。⭐️⭐️⭐️

✿✿ ヽ(°▽°)ノ ✿

撒花 🌸🌸🌸🌸🌸🌸

上次更新于: