【问题标题】:Regular Expressions:JavaScript正则表达式:JavaScript
【发布时间】:2014-10-08 19:43:42
【问题描述】:

下面的语句究竟会做什么:

a.replace(/[^\w-]/g, '-');

我想在单词中找到所有“--”的实例并替换为“-”。

另外,如果我在字符串的盯着和结尾发现任何“-”实例,我想删除它们

这是我的要求:

“嗨@raju,你好吗?”

我想像下面这样隐藏整个单词:

“你好,你怎么做”

条件:

  1. 用“-”替换空格。 2.用'-'替换特殊字符。 3.如果我们有多个'-',则将它们全部替换为单个'-'。
  2. 删除字符串开头和结尾的“-”。

【问题讨论】:

  • 除了上例中的“@”之外,还有哪些特殊字符?
  • '@' 只是特殊字符,但我用 '-' 替换每个空格作为提及 4 个条件。
  • 你真的有两个问题。第一个replace() 是您发布的第一次尝试吗?我建议您查看一些details on regex,并在您有更好的理解后发布您迄今为止尝试过的一些尝试。
  • 如果您想用字符串替换不是字母或数字的所有内容,并希望 RegEx 对其他人(或未来的您)易于理解,请考虑以下内容: .replace('/[^A-Za-z0-9-]+/g', '-')。至少对我来说这更清楚。无论如何,RegEx 都可以很清楚:)

标签: javascript regex client-side


【解决方案1】:

可能的解决方案如下:

" Hi @raju how do you do? ".replace(/\s+|[@\?]/g,'-')
    .replace(/--+/g,'-')
    .replace(/^[\s-]+|[\s-]+$/g,'')
>> output: "Hi-raju-how-do-you-do"

您可以在第一次替换时将任何其他“特殊”字符添加到 []

【讨论】:

  • 这个表达式会做什么 .replace(/[^\w-]/g, '-')
猜你喜欢
  • 2012-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多