繁体   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