【问题标题】:Multiple conditions in regex - how to replace both colon and space with dash [duplicate]正则表达式中的多个条件 - 如何用破折号替换冒号和空格 [重复]
【发布时间】:2019-05-30 10:33:03
【问题描述】:

如何在正则表达式中用破折号替换冒号和空格? 这是我设法做到的: 替换空间:replace(/\s+/g, '-'), 替换冒号:replace(/:\s+/g, '-')。 如何合并这些表达式?

【问题讨论】:

  • 你能添加一些示例输入和预期输出

标签: javascript regex


【解决方案1】:

你可以这样做:

var text = "hello: hey"
console.log(text.replace(/(:|\s+)/g, "-"))

返回“你好——嘿”

【讨论】:

    【解决方案2】:

    使用替代[ :]

    var input = "Hello World:Goodbye";
    console.log(input);
    input = input.replace(/[ :]+/g, '-');
    console.log(input);

    请注意,这会替换实际的 空格,而不是所有空白字符,您使用 \s 的原始版本会这样做。

    【讨论】:

    • 我不认为这是合并两个正则表达式,因为只匹配单个空格。
    • @MaheerAli 认为g 标志有什么作用? g 代表全局,即输入字符串中的任何位置。
    • replace(/\s+/g, '-') 用单个 - 替换两个或多个空格,但您的代码不会创建与空格一样多的 -
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-20
    • 1970-01-01
    • 2019-02-15
    • 1970-01-01
    相关资源
    最近更新 更多