1

文字列を解析する最良の方法は何ですか

SomeName_Some1_Name2_SomeName3

出たいSomeName。最善の方法は何ですか?substring位置を計算するか、別のより良い方法です

4

8 に答える 8

2

SomeName抽出するパターンを一致させることができます-

        String str= "SomeName_Some1_Name2_SomeName3";
        Pattern ptrn= Pattern.compile("SomeName");
        Matcher matcher = ptrn.matcher(str);
        while(matcher.find()){
            System.out.println(matcher.group());
        }
于 2012-10-18T11:13:57.647 に答える
0
String str = "SomeName_Some1_Name2_SomeName3";
String output = str.split ( "_" ) [ 0 ];

出力はSomeNameとして取得されます。

于 2012-10-18T11:12:55.437 に答える
0

区切り文字がわかっている場合は、これを試すことができます:

System.out.println("SomeName_Some1_Name2_SomeName3".split("_")[0]);

参照: String.split()の Javadoc

于 2012-10-18T11:09:25.183 に答える
0

構成と、他のフィールドに興味があるかどうかによって異なります。その場合は、_ セパレーターを使用して文字列を分割します。

文字列の一部だけが必要な場合は、indexOf('_') と組み合わせて部分文字列化を行います。

すべてのオカレンスが必要な場合は、テキスト内の「someName」のすべてのオカレンスを見つけることもできます。

于 2012-10-18T11:09:36.057 に答える
0

正規表現とパターン マッチャー API を使用して SomeName を取得します。

于 2012-10-18T11:10:25.183 に答える
0
  • _メソッドを使用してアンダースコアで分割しますsplit()
  • 前のステップから返された配列からインデックス # 0 を取得します
于 2012-10-18T11:08:11.157 に答える
0

どうぞ:

String str = "SomeName_Some1_Name2_SomeName3";
String newStr = str.substring(0, str.indexOf("_"));
System.out.println(newStr);

出力:

SomeName
于 2012-10-18T11:10:42.327 に答える
0
String your_String =  "SomeName_Some1_Name2_SomeName3";
your_String = your_String.split("_")[0];
Log.v("log","your string  "+ your_String);
于 2012-10-18T11:18:09.187 に答える