2017-02-21 9 views
0

私は以下の文字列を持っています。IndexからStartおよびEndingタグまでの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)は、開始タグと終了タグを使用して文字列からサブストリングを取得することがわかります。しかし、私の場合は、動的である可能性があるのでインデックスの開始と終了だけを与えることはできません。

charSequencesの両方が文字列中に発見された場合、私は、このようなものとして

string.functionIAmLookingFor(String startCharSequence , String endCharSequence); 

を探しています、どちらかそれは、この文字列を除くタグを開始と終了の間にある文字列、または文字列を返します。または他の形式であってもよい。私は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
あなたは indexOfを使用して動的位置を与えることができる

lastIndexOf

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

ありがとう、ちょうど私が探していたもの。 –

関連する問題