2016-05-25 5 views
-4

開始行から3番目のカンマ(delimeter)から2番目のカンマ(delimeter)の部分文字列を取得したいとします。

例えば: - 入力:

「8884052344,89、\ N、11805143 \、3 \、6112555 \、6538937 \、5839176 \、5420860 \、6590106 \、2646753,0,2015-09-29 10時52分29" 秒

出力:

11805143 \、3 \、6112555 \、6538937 \、5839176 \、5420860 \、6590106 \、2646753

注:スタートラインから第三カンマやから終了行の2番目のコンマ部分文字列はサイズを増やす可能性があります。助けてください。
Javaの2つのデリミタ間で部分文字列を取得する方法

おかげで.....

+0

これまでに何を試しましたか?私たちがあなたのコードを書くことを期待していますか?いくつかのコードを試してみてください。問題がある場合は、ここに戻って質問してください。 – STaefi

+0

私はindexOf()とsubstring()メソッドを使ってみました。 –

+0

あなたは[MCVE]を提供する必要があります。 – STaefi

答えて

0

は、文字列は、常に5つの以上のカンマを持つことになります読んで、「」、新しい文字列を作るよりことで文字列をカットすることができますか?私はそれができると仮定しました、我々は2つの方法でそれを解決することができます。

最初のアプローチ

I「が、」第二の最後の発生を決定する「」第三の発生の指標を決定するのindexOfを使用し、のlastIndexOfました。

String ex= "8884052344,89,jhgN,11805143,3,6112555,6538937,5839176,5420860,6590106,2646753,0,2015-09-29 10:52:29"; 
int beginningIndex= ex.indexOf(',',(ex.indexOf(',',ex.indexOf(',')))+1)+1; 
int lastIndex= ex.lastIndexOf(',',ex.lastIndexOf(',')-1); 
String desiredResult=ex.substring(beginningIndex,lastIndex); 

他のアプローチ

あなたはちょうど文字列を分割することができます、あなたは配列を取得します。 StringBufferを作成し、インデックス3から2番目の最後のインデックス(配列の長さ - 3)までStringを追加します。

関連する問題