【问题标题】:Regular expression using javascript for removing the special characters使用javascript删除特殊字符的正则表达式
【发布时间】:2012-02-17 10:17:40
【问题描述】:

如何使用 Javascript 为以下字符串编写正则表达式。

[Account].&[1]+[Account].&[2]+[Account].&[3]+[Account].&[4]

需要如下输出格式

1,2,3,4

移动所有字符串和特殊字符。

【问题讨论】:

  • 您只想查找数字?在尝试构建正则表达式时,想想你想要匹配什么,这会让你的生活更轻松。

标签: javascript regex


【解决方案1】:
/\[(\d+)\]/g

这将返回包含字符串中所有数字的数组,然后您可以使用, 作为分隔符加入。

var string = "[Account].&[1]+[Account].&[2]+[Account].&[3]+[Account].&[4]";
var numbers = string.match(/\[(\d+)\]/gi);
alert(numbers.join(','));

【讨论】:

  • 非常感谢您的快速回复,对我很有帮助,[Account22].&[1]+[Account65].&[2]+[Account45].&[3]+[此字符串中的 Account85].&[4] 包含 Account22、Account65 .....数字,我只需要 1,2,3,,4 的输出,这里删除所有字符和数字,除了 1,2,3 ,4.请提供任何解决方案
  • 那么,如果您有时间,请尽快接受答案,如果它对您是正确的。总是乐于助人:)
  • 为此创建另一个问题 - 或编辑您的问题并添加要求 - 然后我会将新表达式添加到我的答案中。
  • var string = "[Account0].&[1]+[Account1].&[2]+[Account2].&[3]+[Account3].&[4]"; var numbers = string.match(/(\d+)/gi); alert(numbers.join(','));这里的输出是:0,1,2,2,3,3,4 这里我需要消除所有带有数字和特殊字符的字符串。你能帮我吗,输出有什么解决方案:1,2,3,4
  • @Rajasekhar 我添加了第二个过滤器以仅获取这些数字(注意map 并非到处都实现)
【解决方案2】:

这将为您提供一个提取数字的数组:

var ar1 ='[Account5].&[1]+[Account6].&[2]+[Account7].&[3]'.match(/\[\d+\]/g);

并且断言你只提取括号之间的数字:

var ar2 = ar1.map(function (elt) { return elt.replace(/\[(\d+)\]/, "$1"); });

【讨论】:

    【解决方案3】:

    试试这个

    yourString.replace('[^a-zA-Z0-9 -]', '');
    

    【讨论】:

      猜你喜欢
      • 2016-05-26
      • 1970-01-01
      • 2020-12-22
      • 2013-09-19
      • 2017-12-07
      • 1970-01-01
      • 1970-01-01
      • 2018-10-11
      相关资源
      最近更新 更多