我有大字符串数组,每个索引都有一个字母。我需要从这个数组中召回并将所有这些字母组合成一个单词/字符串。我将如何在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();
有关更多信息,请检查何时在 java 中使用 StringBuilder
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);
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
或,
在您的字符串中使用
您可以使用 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();
}