我已经将pdf文件变成了超过1,000,000个字符的巨大字符串。字符串中的日期格式为dd/mm/yyyy
。我想把日期中的字符串拆分成较小的字符串。我试过以下:
var sectioned = hugeString.split(/^(0?[1-9]|[12][0-9]|3[01])[\/](0?[1-9]|1[012])[\/\-]\d{4}$/g);
但它没有用。我也试过hugeString.match()
,但没有好结果。
甚至可以通过字符串函数实现这一点,还是应该考虑不同的方法?
String snippet:
....Section: 2 Interpretation E.R. 2 of 2012 02/08/2012 .....
答案 0 :(得分:1)
您可以移除锚点,g
修饰符(它是多余的)并使用非捕获组来避免在结果中输出日期。如果您需要拆分日期在拆分块中,请换入(?=PATTERN HERE)
。但是,如果您更喜欢这种方法,请确保开头的模式中没有可选的0
,否则您可能会在结果中获得冗余元素。
var s = "....Section: 2 Interpretation E.R. 2 of 2012 02/08/2012 ..... ";
var res = s.split(/(?:0?[1-9]|[12][0-9]|3[01])[\/-](?:0?[1-9]|1[012])[\/-]\d{4}/);
console.log(res);
res = s.split(/(?=(?:0[1-9]|[12][0-9]|3[01])[\/-](?:0[1-9]|1[012])[\/-]\d{4})/);
console.log(res);
注意,模式中还有一个[\/]
子模式没有-
,而另一个分隔符字符类包含两个字符。我建议在两种情况下使用[\/-]
。