Skip to content

string api

字符串裁切

  • slice
  • substring
  • substr

slice

slice(indexStart, ?indexEnd)

支持负数,从左到右 ➡️

js
"0123".slice(0, 2); // "01" ;

// 如果没有 end ,直接取最后
"0123".slice(1); // "123" ;

// 支持负数,但是取值顺序不会改变
"0123".slice(-1); // "3" ;

substring

substring(indexStart, ?indexEnd)

start 、end 可以颠倒
不支持支持负数

js
"0123".substring(1); // 123

"0123".substring(2, 4); // 23
"0123".substring(4, 2); // 23

substr

substr 在附录 B 中,而非核心规范中描述。

尽量使用 slice。

substr(start, ?length)

length 是截取多少

支持负数。

查找字符串

  • indexOf
  • lastIndexOf
  • includes

indexOf

从左往右找 ➡️

indexOf(searchString, ?position)

position:为从第几个下标开始寻找

如果没有找到,则返回 -1

js
"大王叫我来巡山".indexOf("巡山"); // 5

"大王叫我来巡山"[5]; // '巡'

lastIndexOf

从尾向头找 ⬅️

lastIndexOf(searchString, ?position)

position:为从第几个下标开始寻找

js
大王叫我来巡山'.lastIndexOf('巡山'); // 5

bitwise NOT

~-1 结果是 0,但是最好不要这么用。

js
~2; // -3,和 -(2+1) 相同
~1; // -2,和 -(1+1) 相同
~0; // -1,和 -(0+1) 相同
~-1; // 0,和 -(-1+1) 相同

includes

includes(searchString, ?position)

返回 boolean

js
"大王叫我来巡山".includes("巡山"); // true

"大王叫我来巡山".includes("大王没叫我"); // false

startsWith 和 endsWith

startsWith(searchString, ?position)
endsWith(searchString, ?endPosition)
js
"大王叫我来巡山".startsWith("大王"); // true
"大王叫我来巡山".startsWith("巡山"); // false
"大王叫我来巡山".startsWith("大王", 2); // false
js
"大王叫我来巡山".endsWith("大王"); // false
"大王叫我来巡山".endsWith("巡山"); // true
"大王叫我来巡山".endsWith("巡山", 2); // false

大小写转换

大写:toUpperCase

小写:toLowerCase