私はもう少し理解しようとしていstring operations
ますregexes
。たとえば、次の配列はString
次のようになります。
String [] tab = {"__09_23_HELLO","__89_2_WORLD","900_23_TRY","_34_90_SATELLITE",
"___23_", "390"};
ここでやりたいことは、アンダースコアとそれに続く文字の後にのみデータを保持し、見つからない場合は を返すことnull
です。この例では、次のようになります。
HELLO WORLD TRY SATELLITE null null
だから私はこの再帰関数を書きました:
public String getName(String string, int i)
{
if(i == string.length()-1) return null;
if(string.charAt(i) != '_' ||
(string.charAt(i) == '_' && !Character.isLetter(string.charAt(i+1))))
return getName(string, i+1);
else
return string.substring(i+1);
}
そして、それはうまく機能します。しかし、私は多くの正規表現を知らないので(おそらく他の方法も?)、正規表現でそれができるかどうか、そして大量のデータでより速く処理できるかどうかを知りたいです。
回答ありがとうございます。