どのようにセパレータのn番目の出現前のサブストリングに?

membersound:
first;snd;3rd;4th;5th;6th;...

どのように私は第三出現した後、上記分割することができ;、セパレータ?特にしなくても、value.split(";")私は値が分離必要はないので、配列として文字列全体。n番目の出現までの文字列までのほんの最初の部分。

所望の出力は次のようになりますfirst;snd;3rd私は、文字列の部分文字列として、分割が値を分離しないようすることを必要とします。

アクセプタ:

使用StringUtils.ordinalIndexOf()はApacheから

ヌルを処理、文字列内のn番目のインデックスを検索します。この方法は、String.indexOf(String)を使用しています。

パラメーター:

STR - 文字列がnullの場合も、チェックします

searchStr - 検索する文字列は、nullの場合もあります

序 - n番目のsearchStr見つけます

戻り値:検索文字列のn番目のインデックス-1(INDEX_NOT_FOUND)不一致またはヌル文字列入力する場合

それともこのように、何のライブラリは必要ありません

public static int ordinalIndexOf(String str, String substr, int n) {
    int pos = str.indexOf(substr);
    while (--n > 0 && pos != -1)
        pos = str.indexOf(substr, pos + 1);
    return pos;
}

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=178532&siteId=1