2016-04-14 4 views
-1

あなたは次のようにカンマで区切られた値を持つ文字列がある場合:パーツの位置(int)に応じて文字列の一部を取得する方法は?

String s = "zero, number one, two, three, number four, five"; 

そして、あなたはこのように0と5の間の番号を与えられている:

はその後
int i = 3; 

あなたはどのようになるだろうしこの方法は、Rの無制限の量のために働く必要があり

String newString = "three"; 

:新しい文字列は、このような「3」が含まれるように値と一致文字列中の単語のアンドロム。

答えて

1

それを呼び出します。これでトークン化された配列のインデックスとして番号3を使用できます。例えば

//s is your string as you mentioned above 
String [] tokenized=s.split(","); 
//i is your number 3 as you mentioned above 
System.out.println(tokenized[i]); 
+0

パーフェクト、ありがとう。 –

+0

これが間違っている理由については、以前の回答に私のコメントを参照してください。 – FredK

+0

あなたのコメントを見ました。私は問題があるとは思わない。彼はいくつかの検証条件を作ることができます。それほど深刻な問題はありません:) – user43053534

0

あなたは次のように関数を作成することができます

String getString(String data, int position) { 
    return data.split(",")[position]; 
} 

そして、あなたの文字列にカンマが含まれている場合は、アレイにカンマでその文字列を分割することができ、同様

String s = "zero, number one, two, three, number four, five"; 
String newString = getString(s, 3); 
+0

はOPの元の文字列では動作しません。まず、このコードは、実際には少なくとも「位置」エントリがあるかどうかをチェックすることができません。そうでない場合、またはユーザーが負の数を入力した場合、例外がスローされます。第二に、split()に渡された正規表現が間違っています。関数に "3"を渡すと、 "three"ではなく "three"(先頭のスペースに注意してください)が返されます。 – FredK

関連する問題