2017-02-21 110 views
0

我有以下一组字符串。替代从索引到开始和结束标记的String.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')"; 

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

我期待为这样的事情,

string.functionIAmLookingFor(String startCharSequence , String endCharSequence); 

如果在字符串中发现两个charSequences,要么返回字符串是在开始和结束标记,或排除该字符串的字符串之间,或任何其他格式。我正在使用Java 7.任何帮助将不胜感激。

+0

你应该看看['的indexOf()'](https://docs.oracle.com/javase/7/docs/api /java/lang/String.html#indexOf(java.lang.String))。 –

+1

[正则表达式](https://docs.oracle.com/javase/tutorial/essential/regex/)可以解决这个问题 –

+0

@FlorentBayle:感谢的人,我感到愚蠢的是我自己没有明确自己,而我太忙了进入一些本地功能:) –

回答

0

可以使用indexOflastIndexOf给动态位置

int beginIndex = s1.indexOf("timestamp('"); 
int endIndex = s1.lastIndexOf("')"); 
s1 = s1.replace(s1.subSequence(beginIndex, endIndex), newValue); 
+0

谢谢,正是我在找的东西。 –

相关问题