2017-04-14 82 views
0

我有3個不同的字符串,我試圖用indexOfsubstring來提取特定的字符串。但是,我不想在代碼中重複indexOf這樣的次數。有沒有一種方法可以重複使用代碼來從給定的較大字符串中提取字符串?任何幫助都會很棒,非常感謝!如何在字符串上使用indexOf方法多次提取字符串?

String message1 = content1.substring(content1.indexOf(" \\\"message\\\": \\") + 1, content1.indexOf("\\\" }")).substring(15); 
String message2 = content2.substring(content2.indexOf(" \\\"message\\\": \\") + 1, content2.indexOf("\\\" }")).substring(15); 
String message3 = content3.substring(content3.indexOf(" \\\"message\\\": \\") + 1, content3.indexOf("\\\" }")).substring(15); 
+2

傳遞一個'int'到'indexOf'作爲第二個參數。 'int'是搜索的**開始**索引。 –

+0

您不應該使用JSON解析器嗎? – shmosel

+0

您可以將'16'而不是'1'添加到開始索引以避免調用'substring'兩次。 – Bubletan

回答

0

如果你只想寫一個方法,該方法不完全一樣,嘗試:

public static String extractMessage(String content){ 
    return content.substring(content.indexOf(" \\\"message\\\": \\") + 1, content.indexOf("\\\" }")).substring(15); 
} 

,然後調用它像這樣:

String message1 = extractMessage(content1); 
String message2 = extractMessage(content2); 
String message3 = extractMessage(content3);