我有一个长字符串,其中包含有关多页图像文件的文本信息。
这是一个例子:

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/

10-11 22:26