【问题标题】:jQuery replace text between parentheses [closed]jQuery替换括号之间的文本[关闭]
【发布时间】:2011-02-09 16:40:22
【问题描述】:

我需要替换字符串中 () 之间的文本。

【问题讨论】:

    标签: javascript string replace


    【解决方案1】:
    "string()".replace(/\(.*?\)/, "replacement")
    

    【讨论】:

    • 仅供参考:此解决方案包括替换中的括号。这不是 OP 所要求的。
    【解决方案2】:

    您可以使用正则表达式 - 这不是 jQuery,而是 JavaScript 的一部分:

    var s = "hello (there)";
    s = s.replace(/\(.*?\)/, 'world');
    

    不止一对:

    s = s.replace(/\(.*?\)/g, 'world');
    

    如果括号包含更多括号,这将不起作用,请注意;另一种选择是使用 /\(.*\)/ 从头到尾捕获 - "a (b (c) d)" --> "a world",但对于 "a (b) c (d)" 也是如此。

    【讨论】:

    • 仅供参考:此解决方案包括替换中的括号。这不是 OP 所要求的。
    【解决方案3】:

    不使用JQuery,使用正则表达式:http://www.w3schools.com/jsref/jsref_replace.asp

    这是第二个示例,您可以在其中指定一个正则表达式来定位 ( 和 ),然后替换内部内容......像 /(.+)/i 这样的正则表达式应该可以工作。

    HTH。

    【讨论】:

    • 你不需要 /i 那里,括号没有大小写 - 这仅在匹配文字时有用。
    • 供将来参考:此解决方案替换括号之间的文本。以下 Kobi 和 Koctehko 的解决方案替换了括号之间的文本以及括号本身。
    猜你喜欢
    • 2015-05-08
    • 2022-01-02
    • 2015-11-09
    • 2023-03-18
    • 2016-07-21
    • 2013-08-05
    • 2012-03-05
    • 2012-12-17
    • 1970-01-01
    相关资源
    最近更新 更多