javascript - 如何使用 JavaScript 按日期分割一个巨大的字符串?

标签 javascript regex string

我有一个 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(),但没有好的结果。

是否可以通过字符串函数来完成此任务,或者我应该考虑不同的方法?

字符串片段:

....部分:2 解释 E.R. 2 of 2012 02/08/2012 .....

最佳答案

您可以删除 anchor 、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);

请注意,您还有一个 [\/] 子模式,而模式中没有 -,而另一个分隔符字符类包含这两个字符。我建议在这两种情况下都使用 [\/-]

关于javascript - 如何使用 JavaScript 按日期分割一个巨大的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40507682/

相关文章:

javascript - Javascript/Jquery 的默认日期格式

javascript - 在 React Native 中调用自定义组件的 onPress

javascript - 简化一系列基于正则表达式的字符串替换

PHP 替换 HTML 标签以外的字符

java - 如何在 Java 中将一个字符串在某个索引处分成两部分并保留两部分?

string - Fortran:从字符串中删除字符

javascript - 尝试使用 webpack 要求部分 jquery

javascript - 在端口 8080 上使用 Webpack 开发服务器获取 ERR_CONNECTION_RESET

c# - 正则表达式: How to escape the "(" meta char in c#

python - 在 Python 中,如何在 TinyDB 数据库中搜索值中的子字符串?