📅  最后修改于: 2023-12-03 15:08:19.962000             🧑  作者: Mango
在 JavaScript 中,我们可以使用正则表达式和字符串方法来删除所有非 ASCII 字符。以下是一个简单的示例:
let str = "hello 你好 world";
let newStr = str.replace(/[^\x00-\x7F]/g, "");
console.log(newStr); // 输出: "hello world"
上述代码使用 replace()
方法和正则表达式 [^\x00-\x7F]
来删除所有非 ASCII 字符。该正则表达式匹配所有不在 ASCII 范围内的字符。
我们也可以将该代码片段封装成一个函数:
function removeNonAscii(str) {
return str.replace(/[^\x00-\x7F]/g, "");
}
let str = "hello 你好 world";
let newStr = removeNonAscii(str);
console.log(newStr); // 输出: "hello world"
此外,我们还可以使用 ES6 中的 unicode property escapes
,其语法为 \p{ASCII}
,来匹配所有 ASCII 字符。
let str = "hello 你好 world";
let newStr = str.replace(/[^\p{ASCII}]/gu, "");
console.log(newStr); // 输出: "hello world"
对于只需要删除字符串中的空格和非 ASCII 字符的情况,我们还可以使用以下代码:
let str = " hello 你好 world ";
let newStr = str.trim().replace(/[^\x00-\x7F]/g, "");
console.log(newStr); // 输出: "hello world"
该代码首先使用 trim()
方法删除字符串两侧的空格,然后使用 replace()
方法和正则表达式 [^\x00-\x7F]
删除所有非 ASCII 字符。
总之,以上是几种从字符串中删除所有非 ASCII 字符的常用方法。在实际开发中,我们可以根据具体需求选择适合的方法。