我有一个长字符串,其中包含有关多页图像文件的文本信息。
这是一个例子:
test.tif[0] TIFF 1962x2668+0+0 DirectClass 1-bit 12.8M 0.000u test.tif[1] TIFF
1952x2688+0+0 DirectClass 1-bit 12.8M 0.000u test.tif[2] TIFF 1650x2200+0+0
DirectClass 1-bit 12.8M 0.000u 0:01 etc..
我需要将字符串转换为图像信息数组,如下所示:
[
'test.tif[0] TIFF 1962x2668+0+0 DirectClass 1-bit 12.8M 0.000u',
'test.tif[1] TIFF 1952x2688+0+0 DirectClass 1-bit 12.8M 0.000u',
'test.tif[2] TIFF 1650x2200+0+0 DirectClass 1-bit 12.8M 0.000u 0:01',
etc..
]
也许可以使用某种正则表达式来分隔以
[x]
开头的字符串部分,包括可以每次更改的左侧名称。也许有更好的方法可以做到这一点?
最佳答案
var array = string.split(/ (?=test\.tif\[\d+\])/);
这使用先行方式对每个空格进行分隔,后跟
test.tif[<number>]
。要处理不同的扩展名,可以将正则表达式的
tif
部分更改为[a-zA-Z]+
以允许任何内容或类似(?:tif|gif|png)
的内容仅允许特定扩展名。关于javascript - 使用正则表达式将字符串转换为javascript数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22386720/