2017-04-14 4 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'を第2のパラメータとして使用します。その 'int'は検索の**開始**インデックスです。 –

+0

代わりにJSONパーサーを使用してはいけませんか? – shmosel

+0

'substring'を2回呼び出さないように、開始インデックスに' 1'の代わりに '16'を追加することができます。 – 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); 
関連する問題