String.subSequence 从索引到开始和结束标签的交替

Alternate of String.subSequence from Index to Start and Ending Tags

我有以下一组字符串。

String s1 = "Some random text followed by timestamp('some data')";
String s2 = "Some extended random tet followed by timestamp('some extra data')";
String s3 = "Some tiny random text followed by timestamp('some tiny data')";

我想替换以timestamp('开始并以')结束的子序列。 我知道以下 string.subSequence(beginIndex, endIndex) 将使用开始和结束标记从字符串中获取子字符串。但就我而言,我不能只给它开始和结束索引,因为它可以是动态的。

我看起来像这样,

string.functionIAmLookingFor(String startCharSequence , String endCharSequence);

如果两个 charSequences 都在字符串中找到,则它是 returns 开始和结束标记之间的字符串,或者不包括该字符串的字符串,或者任何其他格式。我正在使用 Java 7。非常感谢任何帮助。

您可以使用 indexOf and lastIndexOf

提供动态位置
int beginIndex = s1.indexOf("timestamp('");
int endIndex = s1.lastIndexOf("')");
s1 = s1.replace(s1.subSequence(beginIndex, endIndex), newValue);