【问题标题】:Split by Multiple Strings or a Colon (jQuery)由多个字符串或冒号分割 (jQuery)
【发布时间】:2017-10-26 15:51:55
【问题描述】:

我知道我可以使用字符串来分割,例如x.split(/Age:|Date:/g); How split a string in jquery with multiple strings as separator 并按字符分割,例如 : 我可以使用 x.split(':');

如果适用,我需要按以下方式拆分字符串

:
am
AM
pm
PM

尝试了这两种方法,但它们都不起作用。

var array = str.split('/:|am|AM|pm|PM/g');
var array = str.split('/\:|am|AM|pm|PM/g');
var array = str.split('/(:|am|AM|pm|PM)/g');

JSFiddle https://jsfiddle.net/dkasce2e/1/

【问题讨论】:

    标签: jquery regex


    【解决方案1】:

    在使用正则表达式模式时不要使用引号。请改用以下内容

    var array = str.split(/:|am|AM|pm|PM/g);

    这是您的完整示例:

    function splitTime(str) {
    
    	var array = str.split(/:|am|AM|pm|PM/g);
            console.log("[0]: " + array[0] + " [1]: " + array[1] + " [2]: " + array[2]);
    
    }
    
    splitTime('12:20am');
    splitTime('00:20am');
    splitTime('4:00PM');
    splitTime('14:30am');

    RegEx 支持不带引号,通常由/ 包围,后跟访问标志。在 Javascript 中,字符串对象的 matchreplacesearchsplit 函数支持正则表达式。 更多详情请见Javascript Regular Expressions Guide in Mozilla

    【讨论】:

    • 确实,这是人们在使用正则表达式模式时常犯的一个错误,有些 API 需要将模式放在引号中(作为字符串),而有些则需要作为原始正则表达式模式,如上面的 api。有关在 javascript 中使用 RegEx 的更多详细信息,请参阅此优秀指南。 developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/…
    【解决方案2】:

    正则表达式不在 JS 中的引号内。 '/myregexpattern/' 将准确查找该字符串。请改用 /yourpatternhere/。

    【讨论】:

      猜你喜欢
      • 2022-01-17
      • 2020-11-18
      • 2011-06-25
      • 1970-01-01
      • 2016-01-07
      • 2011-03-26
      • 2013-04-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多