2011-05-28 95 views
0

在我的Android應用程序中,我有一個包含我的網頁源的大型字符串。這個使用JavaScript的網頁在幾個其他PNG的頂部旋轉了六個透明PNG。我想要做的是提取png文件名稱的最後4個字符,但僅用於源代碼中出現的前6個圖像。這些最後4個字符的每個PNG文件名是一個時間戳,我需要並希望將它們讀入一個數組中。從JAVA/Android中的字符串中提取多個子字符串

來源:

<html><head><style>html {background: black} body {background:black;margin:0;padding:0;}</style><script>setInterval('changeImage()',1000);function changeImage() {size = images.length;if (current == size-1) { current = -1;}current++;document.getElementById('rad').src = images[current]; }current = 0;images = new Array();images[0] = 'image.201105261318.png';images[1] = 'image.201105261323.png';images[2] = 'image.201105261330.png';images[3] = 'image.201105261336.png';images[4] = 'image.201105261342.png';images[5] = 'image.201105261348.png';</script></head><body><img style="position:absolute; top: 0px; left: 0px;z-index:1;" src="http://background.png"></body></html> 

所需的輸出:

String Array = "1318,1323,1330,1336,1342,1348" 

我已經嘗試了很多不同的子檢索方法,但還是很掙扎。我知道如何使用「.png」標識字符串的結尾,但不知道如何說,我只想在分隔符前面的4個字符..?

任何幫助將不勝感激。

乾杯

格雷格

編輯:

有了!

int delimiter = source.indexOf(".png"); 
String imageTime1 = source.substring(delimiter-4,delimiter); 
int delimiter2 = source.indexOf(".png",delimiter+4); 
String imageTime2 = source.substring(delimiter2-4,delimiter2); 
int delimiter3 = source.indexOf(".png",delimiter2+4); 
String imageTime3 = source.substring(delimiter3-4,delimiter3); 
int delimiter4 = source.indexOf(".png",delimiter3+4); 
String imageTime4 = source.substring(delimiter4-4,delimiter4); 
int delimiter5 = source.indexOf(".png",delimiter4+4); 
String imageTime5 = source.substring(delimiter5-4,delimiter5); 
int delimiter6 = source.indexOf(".png",delimiter5+4); 
String imageTime6 = source.substring(delimiter6-4,delimiter6); 

乾杯

回答

1

也許我錯過了點,但是......

鑑於指數x作爲text.indexOf( 「PNG」),你可以簡單地使用text.substring(x-4,x);

然後你可以做text.indexOf(".png",x+4)讓你的下一張圖像結束,並重覆上述操作。

如果可能的話,您可以在搜索您的擴展程序之前將整個字符串更改爲大寫或小寫。

+0

看到我上面的修改。乾杯 – Pelly 2011-05-28 03:21:04

+0

沒關係..搞清楚我做錯了什麼。 :)乾杯 – Pelly 2011-05-28 03:45:38

+0

只是好奇,但「分隔符+4」如何將它移動到我的字符串中的下一個圖像? – Pelly 2011-05-28 03:48:45

1

一旦你有你的圖像列表,做一個String.split(';')得到的images[0] = 'image.201105261318.png'項的列表。然後你可以得到每個項目的長度,並拿String.substring(length-9,length-4)來獲得每個項目的最後4個字符。

子串代碼沒有經過測試,但你可以調整它以得到你需要的東西。

相關問題