私は大きな文字列配列を持っており、すべてのインデックスに文字があります。この配列からリコールして、このすべての文字を1つの単語/文字列に構成する必要があります。Javaでそれをどのように行うのですか?
String[] letters;
int lettersToRecall =16;
String word;
for(int i=0; i<lettersToRecall; i++){
//accumm letters into String Word..
}
この最も簡単な方法は、すべての文字列を一緒に追加することです。
String word = "";
for(int i = 0; i < lettersToRecall; i++){
word += letters[i];
}
このメソッド(単にオブジェクトを追加する)は、追加するたびに新しいインスタンスが生成されるため、String
多くのインスタンスを浪費します。String
したがって、リソースの使用に関心がある場合は、StringBuilder
代わりに次を使用できます。
StringBuilder builder = new StringBuilder();
for(int i = 0; i < lettersToRecall; i++){
builder.append(letters[i]);
}
String word = builder.toString();
String letters="your string here";
String result="";
for(int i=0;i<letters.length();i++)
{
if((letters.charAt(i)>=65&&letters.charAt(i)<=90)||(letters.charAt(i)>=97&&letters.charAt(i)<=122))
result+=letters.charAt(i);
}
System.out.println("result"+result);
Commons-lang.jarを使用して、このタスクを完了することができます。サンプルコード:
word = StringUtils.join(letters);
自分で書きたい場合は、以下をお試しください。
public String join(String[] letters){
StringBuffer buffer = new StringBuffer();
for(int idx=0;idx <letters.length;idx++){
buffer.append(letters[idx]);
}
return buffer.toString();
}
public class Main {
public static void main(String[] args) {
String[] letters = new String[3];
letters[0] = "a";
letters[1] = "b";
letters[2] = "c";
StringBuilder word = new StringBuilder();
for (int i = 0; i < letters.length; i++) {
word.append(letters[i]);
}
System.out.println(word);
}
}
私はそれを行う別の方法を見つけました、これだけはどうですか?
System.out.println(Arrays.toString(letters).replaceAll(",|\\s|\\]$|^\\[", ""));
注意してください、あなたが持っていないspace
か,
、あなたのストリングにあるときだけ使用してください