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

Java String.subSequence从索引到开始和结束标记的交替,java,string,substring,subsequence,Java,String,Substring,Subsequence,我有以下一组字符串 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')"; 我想替换以时间戳('开始,以

我有以下一组字符串

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')";
我想替换以
时间戳('
开始,以
结束)开始的子序列。
。 我知道下面的
string.subSequence(beginIndex,endIndex)
将使用start和end标记从字符串中获取子字符串。但在我的例子中,我不能只给它开始和结束索引,因为它可以是动态的

我看起来像这样

string.functionIAmLookingFor(String startCharSequence , String endCharSequence);

如果在字符串中同时找到这两个字符序列,它将返回介于起始标记和结束标记之间的字符串,或者返回不包含此字符串的字符串,或者返回任何其他格式。我正在使用Java7。非常感谢您的帮助。

您可以使用和提供动态位置


你应该看看。你能解决这个问题吗problem@FlorentBayle:谢谢,伙计,当我忙于研究一些本机函数时,我觉得自己没有识别它很愚蠢:)@SergeyFedorov:也谢谢你的想法,但我试图避开正则表达式,因为它在大多数情况下过于复杂。再次谢谢,谢谢,这正是我想要的。
int beginIndex = s1.indexOf("timestamp('");
int endIndex = s1.lastIndexOf("')");
s1 = s1.replace(s1.subSequence(beginIndex, endIndex), newValue);