簡體   English   中英

將arraylist轉換為字符串

[英]Converting arraylist to string

我有一個多行字符串作為用戶輸入。 我通過str.split("\\\\s ")將字符串分解為ArrayList ,並更改了一個特定的單詞(如果它發生了),現在我想將ArrayList中的單詞與其中的替換單詞合並,並以倍數形式再次形成字符串僅線條圖案。 我沒有得到如何做到這一點。 請幫忙。

僅使用標准Java(假設ArrayList稱為words

StringBuilder sb = new StringBuilder();
for (String current : words) 
  sb.append(current).append(" ");
String s = sb.toString().trim();

如果您擁有Guava庫,則可以使用Joiner:

String s = Joiner.on(" ").join(words)

即使words的類型為String[] ,這兩種方法都可以使用。

如果要保留行結構,建議采用以下方法:首先使用.split("\\n")將輸入字符串分成幾行。 然后,使用.split("\\\\s")將每一行拆分為多個單詞。 代碼如下所示:

public String convert(String input, String wordToReplace, String replacement) {
  StringBuilder result = new StringBuilder();
  String[] lines = input.split("\n");
  for (String line : lines) {
    boolean isFirst = true;
    for (String current : line.split("\\s")) {
      if (!isFirst)
        result.append(" ");
      isFirst = false;
      if (current.equals(wordToReplace))
        current = replacement;
      result.append(current);
    }
    result.append("\n");
  }

  return result.toString().trim();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM