【问题标题】:How do I use a Regex to replace non-alphanumeric characters with white space?如何使用正则表达式将非字母数字字符替换为空格?
【发布时间】:2018-04-12 21:46:48
【问题描述】:

我构建了一个 Javascript 函数来使第一个字母大写。我的问题是我有一些类似“name_something”的词,而我想要的是“命名某事”。

我这样做了:

function toCamelCase(text) {
  return text.replace(/\b(\w)/g, function (match, capture) {
    return capture.toUpperCase();
  }).split(/[^a-zA-Z]/);
}  

【问题讨论】:

  • 那么,出了什么问题?问题是什么?

标签: javascript


【解决方案1】:

您可以使用[\W_] 删除非字母数字字符。其中W 表示来自a-zA-Z0-9 的字符

var str = 'this $is a _test@#$%';
str = str.replace(/[\W_]+/g,' ');
console.log(str);

所以,为了让单词在替换旁边大写,你可以做,

var str = 'this $is a _test@#$%';
str = str.replace(/[\W_]+/g,' ');
var res = str.split(' ').map((s) => s.charAt(0).toUpperCase() + s.substr(1)).join(' ');
console.log(res);

【讨论】:

  • 谢谢你能告诉我我的情况吗?我有一些问题需要适应我的
  • @Jakub 检查工作的 sn-p。第二个替换并改为大写
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-03
  • 1970-01-01
  • 1970-01-01
  • 2022-01-25
相关资源
最近更新 更多