JavaScript 字符串操作

68 阅读1分钟

js 截取字符串后三位

方法一:substring()

var str = "example string"; 
var lastThreeChars = str.substring(str.length - 3); 
console.log(lastThreeChars);

方法二:slice()

var str = "example string"; 
var lastThreeChars = str.slice(-3); 
console.log(lastThreeChars);

方法三:substr()

var str = "example string"; 
var lastThreeChars = str.substr(str.length - 3, 3); 
console.log(lastThreeChars);

js 截取字符串除后三位以外字符

var str = "example string"; 
// 使用 substring 方法 
var newStr = str.substring(0, str.length - 3); 
console.log(newStr); 
// 使用 slice 方法 
var newStr = str.slice(0, -3); 
console.log(newStr);

js 字符串替换

替换第一次出现的子串

var originalStr = "Hello, world! Hello again!"; 
var replacedStr = originalStr.replace("Hello", "Hi"); 
console.log(replacedStr); // 输出: "Hi, world! Hello again!"

全局替换所有匹配项: 若要替换所有匹配项,可以使用正则表达式并加上标志g(全局匹配):

var originalStr = "Hello, world! Hello again!"; 
var replacedStr = originalStr.replace(/Hello/g, "Hi"); 
console.log(replacedStr); // 输出: "Hi, world! Hi again!"

基于特定位置替换: 如果你知道要替换的具体位置,可以直接操作字符串切片,但这并不是replace()方法的功能。例如:

var originalStr = "0123456789"; 
var start = 3; // 起始位置 
var end = 6; // 结束位置 
var replacement = "ABC"; 
var replacedStr = originalStr.slice(0, start) + replacement + originalStr.slice(end);
console.log(replacedStr); // 输出: "012ABC789"

使用正则表达式进行复杂替换: 可以编写复杂的正则表达式来匹配特定模式,并在替换时使用匹配分组 $1$2 等引用:

var originalStr = "I love JavaScript and Java."; 
var replacedStr = originalStr.replace(/\b(Java|JavaScript)\b/g, "Python");
console.log(replacedStr); // 输出: "I love Python and Python."

基于条件替换: 如果替换行为取决于某些条件,可以创建一个函数作为replace()的第二个参数,该函数会在每次匹配时被调用,并决定是否替换以及替换为什么内容:

var originalStr = "1 cat, 2 cats, 3 cats"; 
var replacedStr = originalStr.replace(/\d+ (\w+)/g, function(match, word) { 
    return Number(match) > 1 ? match.replace(word, word + 's') : match; 
   }); 
   console.log(replacedStr); // 输出: "1 cat, 2 cats, 3 cats"