2014-03-13 66 views
0

我有一個包含關於多頁圖像文件的文本信息的長字符串。 下面是一個例子:將字符串轉換爲具有正則表達式的javascript數組

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]開始的字符串,包括每次都可以更改的左側的名稱。 或者也許有更好的方法來做到這一點?

+0

所以你想匹配從'something.tif [somenumber]'直到下一次出現? –

+0

@MattBurland yes something.tif [somenumber],或者甚至更好something.someImageExtension [somenumber] - Cris69 11分鐘前 – Cris69

回答

4
var array = string.split(/ (?=test\.tif\[\d+\])/); 

這使用一個超前分裂在每個空間,然後是test.tif[<number>]

要處理不同的擴展名,您可以將tif部分的正則表達式更改爲[a-zA-Z]+,以允許任何東西或諸如(?:tif|gif|png)之類的內容僅允許特定的擴展名。

相關問題