String

2022-03-16  本文已影响0人  樱桃小白菜

搜索处理字符串

replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

不改变原字符串。

字符 含义
$$ 插入一个 "$"
$& 插入匹配的子串
$` 插入当前匹配的子串左边的内容
$' 插入当前匹配的子串右边的内容
$n 假如第一个参数是 RegExp 对象,并且 n 是个小于100的非负整数,那么插入第 n 个子表达式匹配的字符串。如果不存在第 n个分组,那么将会把匹配到到内容替换为字面量。比如不存在第3个分组,就会用“$3”替换匹配到的内容。
const text = "I love javascript, and I am learning javaScript.";
const regExp = /javascript/ig;
text.replace(regExp, "JavaScript"); 
// I love JavaScript, and I am learning JavaScript.

const regExp = /(\d{4})-(\d{1,2})-(\d{1,2})/  
"2021-1-20".replace(regExp,"$1/$2/$3"); // "2021/1/20"

search() 方法执行正则表达式和 String 对象之间的一个搜索匹配。

const regExp = /script/i;
"JavaScript".search(regExp); // 4
"I Love Java".search(regExp); // -1

match() 方法检索返回一个字符串匹配正则表达式的结果。

var str = 'For more information, see Chapter 3.4.5.1';
var re = /see (chapter \d+(\.\d)*)/i;
var found = str.match(re);

console.log(found);

// logs [ 'see Chapter 3.4.5.1',
//        'Chapter 3.4.5.1',
//        '.1',
//        index: 22,
//        input: 'For more information, see Chapter 3.4.5.1' ]

// 'see Chapter 3.4.5.1' 是整个匹配。
// 'Chapter 3.4.5.1' 被'(chapter \d+(\.\d)*)'捕获。
// '.1' 是被'(\.\d)'捕获的最后一个值。
// 'index' 属性(22) 是整个匹配从零开始的索引。
// 'input' 属性是被解析的原始字符串。

截取字符串

charAt() 方法从一个字符串中返回指定的字符。

var anyString = "Brave new world";
anyString.chartAt(0)  // B
anyString.chartAt(999)  // ""

substring() 方法返回一个字符串在开始索引到结束索引之间的一个子集, 或从开始索引直到字符串的末尾的一个子集。

var str = "123,456,789";
 
console.log(str.substring(2,6)); // 3,45
console.log(str.substring(2)); // 3,456,789
console.log(str.substring(6,2)); // 3,45
console.log(str.substring(-6,-2)); //  
console.log(str.substring(6,6)); // 

slice() 方法提取某个字符串的一部分,并返回一个新的字符串,且不会改动原字符串。

var str = "123,456,789";
 
console.log(str.slice(2,6)); // 3,45
console.log(str.slice(-6,-2)); // 56,7
console.log(str.slice(2)); // 3,456,789
console.log(str.slice(-6)); // 56,789

split() 方法使用指定的分隔符字符串将一个String对象分割成子字符串数组,以一个指定的分割字串来决定每个拆分的位置。

var str = "123,456,789";
 
console.log(str.split('')); // ["1", "2", "3", ",", "4", "5", "6", ",", "7", "8", "9"]
console.log(str.split(',')); // ["123", "456", "789"]
字符串转大写
var str = prompt("请输入需转换大写的字符串:");

str = str.toUpperCase();

console.log(str);
字符串转小写
var str = prompt("请输入需转换小写的字符串:");

str = str.toLowerCase();

console.log(str);
十进制ASCII码转换成字符
String.fromCharCode(65) // A
String.fromCodePoint(65) // A
字符串转十进制ASCII码
'A'.charCodeAt() // 65
'a'.charCodeAt() // 97
10进制转 16 进制
let a = 170.toString(16) // "AA"
上一篇 下一篇

猜你喜欢

热点阅读