【问题标题】:How do remove all Unicode from string, BUT keep lanauges such as: Japanese, Greek, Hindi etc [duplicate]如何从字符串中删除所有 Unicode,但保留语言,例如:日语、希腊语、印地语等 [重复]
【发布时间】:2019-03-05 13:39:04
【问题描述】:

如何从这个字符串中删除所有Unicode【你好!】★ああああ 我需要删除所有“奇怪”的符号(【、★、】)并保留“你好!”和“ああああ”。这需要适用于所有语言,而不仅仅是日语。

【问题讨论】:

  • 在这种情况下是奇怪的符号 吗?我们需要考虑其他符号吗?
  • 是的,其他符号也是如此。

标签: javascript regex unicode


【解决方案1】:

您想删除 Unicode categories 其他符号、组合符号和封闭标记中的字符,但保留其他类别中的字符。

使用正则表达式,它们分别匹配\p{So}\p{Sk}\p{Me} 类。例如,您可以使用XRegExp.replace().

【讨论】:

【解决方案2】:

我找到了解决办法。使用 XRegEXP,我可以在节点中使用 PHP 的 \p{Common}

const xreg = require('xregexp');

let str = '【Hello!】★ ああああ】';
let regex = new xreg('\\p{Common}', 'g');
let res = xreg.replace(str, regex, ' ');

console.log(res); // Hello    ああああ 

【讨论】:

  • 旁注:PHP 借鉴了 PCRE 的语法,PCRE 代表 Perl 兼容的正则表达式。 (它的语法并不真正与 Perl 兼容。)
猜你喜欢
  • 2012-02-10
  • 2020-04-20
  • 1970-01-01
  • 1970-01-01
  • 2019-01-09
  • 2017-05-19
  • 2013-11-12
  • 1970-01-01
  • 2014-07-18
相关资源
最近更新 更多