2014-09-24 185 views
-2

我想寫一個java程序,它讀取一行,在行中搜索一個字符串,然後讀取搜索字符串後面的字符。閱讀,找到字符串,然後讀取字符串

例如,假設我在下面一行寫着:

+version:20140825+extra_Name:session:[email protected]+xy_confirmation_value:IF_ui+XYZ_literal:next+ABC_meaning:next 

我想提取這是+ABC_meaning:後的字符串,它應該返回next

我可以用indexOf()來實現嗎?

+1

溢出的字符串:然後比較相鄰的索引,其中偶數索引是參數,奇數是數組中的值以獲取值... – StackFlowed 2014-09-24 14:41:16

+0

試試這個正則表達式:。* \ + ABC_meaning \(*)。 – StephaneM 2014-09-24 14:44:28

回答

1

如果我明白你的問題,然後是的,你可以使用String.indexOf(String)String.substring(int)喜歡的東西

String str = "+version:20140825+extra_Name:session:[email protected]" 
    + "field.namer+xy_confirmation_value:" 
    + "IF_ui+XYZ_literal:next+ABC_meaning:next"; 
String toFind = "+ABC_meaning:"; 
int pos = str.indexOf(toFind); 
String found = ""; 
if (pos != -1) { 
    found = str.substring(pos + toFind.length()); 
} 
System.out.println(found); 

輸出是請求

next 
0

假設你的字符串是myString則:

int position = myString,indexOf("+ABC_meaning:"); 
String out = myString.substring(position + "+ABC_meaning:".length); 

out現在包含「下一個」