2017-04-14 50 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);