Javascript 如何在行尾将字符串拆分为最多2000个字符?
下面是一个名为results的字符串变量的小示例Javascript 如何在行尾将字符串拆分为最多2000个字符?,javascript,arrays,regex,match,Javascript,Arrays,Regex,Match,下面是一个名为results的字符串变量的小示例 2017-09-18 920.0100 922.0800 910.5999 915.0000 1294800 2017-09-15 924.6599 926.4899 916.3599 920.2899 2505400 2017-09-14 931.2500 932.7700 924.0000 925.1099 1397600 2017-09-13 930.6599 937.2500 929.8599 935
2017-09-18 920.0100 922.0800 910.5999 915.0000 1294800
2017-09-15 924.6599 926.4899 916.3599 920.2899 2505400
2017-09-14 931.2500 932.7700 924.0000 925.1099 1397600
2017-09-13 930.6599 937.2500 929.8599 935.0900 1102600
2017-09-12 932.5900 933.4799 923.8610 932.0700 1134400
2017-09-11 934.2500 938.3800 926.9199 929.0800 1267000
2017-09-08 936.4899 936.9899 924.8800 926.5000 995100
2017-09-07 931.7299 936.4099 923.6199 935.9500 1212700
如何将其拆分为一个数组,每个部分包含尽可能接近2000个字符,并以一行结尾。一直在使用,但是结束了行中的数组中的每个项。
var parts = results.match(/[\s\S]{1,2000}/g);
代码
解释
- 匹配1到200次之间的任意字符
- 匹配垂直空白字符
或字符串/文件的结尾\v
$
显然,在您的情况下,您将使用2000而不是200。为了确保在每次比赛中最多获得2000个字符,您可以使用
var parts = results.match(/[\s\S]{1,2000}$/gm);
详细信息
-1到2000个字符,尽可能多[\s\s]{12000}
-行末$
-启用多次匹配(/gm
)并强制g
匹配行尾($
)李>m
m
标志?谢谢,工作正常,你的代码与ctwheels发布的代码之间的主要区别是什么?否\v
(JS正则表达式引擎不支持)。此外,我还解释了为什么m
很重要-它使$
锚点匹配一行的末尾,而不是整个字符串。
var parts = results.match(/[\s\S]{1,2000}$/gm);