如何转换这样的内容(假设我使用缓冲阅读器读取信息?):
0, blah, hi\n
1, bluh, test
对此:
String[] testArray:
0, blah, hi, 1, bluh, test
如果这有意义的话?基本上删除逗号和换行符,并将每个不同的单词插入到它自己的元素中。
以下是 Java 8 的答案。
String[] array = Files.newBufferedReader(PATH_OF_THE_FILE)
.lines()
.flatMap(string -> java.util.stream.Stream.of(string.split(",\\s")))
.collect(Collectors.toList())
.toArray(new String[0]);
使用带有自定义分隔符的Scanner
做这样的事情比重新发明轮子要容易得多,恕我直言:
String str = "0, blah, hi\n1, bluh, test";
Reader reader = new StringReader(str); // Just an example, any Reader would work
Scanner scanner = new Scanner(reader).useDelimiter(", ");
List<String> tmpList = new LinkedList<>();
scanner.forEachRemaining(tmpList::add);
String[] array = tmpList.toArray(new String[tmpList.size()]);
一个幼稚的实现:
List<String> tokens = new ArrayList<>();
for (String line = in.readLine(); line != null; line = in.readLine()) {
for (String token: line.split(",\\s*")) {
tokens.add(token);
}
}
String[] testArray = tokens.toArray(new String[tokens.size()]);
问题内容: 我有一些特殊字符的字符串。目的是检索每行的String [](分隔)。您可以使用特殊字符“,在其中可以使用/ n和, 您会看到“ /”中有您/ n。 任何可以帮助我解析此。 谢谢 __更多说明 与主刺我需要分开这些 问题是:对于Julie,KameL,Titi ,在KameL和Titi之间存在换行符/ n,或者在Time,tomy,tony,tini之间存在类似的换行问题,或者 在to
问题内容: 我已经看到了许多相关的问题,但是都没有直接解决我想做的事情。我正在从CSV文件中读取文本行。 所有项目都用引号引起来,有些则在引号内有其他逗号。我想按逗号分隔行,但忽略引号内的逗号。有没有一种方法可以在Python中执行此操作,而无需使用许多正则表达式语句。 一个例子是: 我想将其解析为4个单独的值变量: 我想念一个简单的选择吗? 问题答案: 不要尝试重新发明轮子。 如果要读取CSV文
在逗号处划分字符串的最佳方法是什么,这样每个单词都可以成为ArrayList的一个元素? 例如:
问题内容: 我得到了这样的格式的字符串: 因此从根本上讲,它是演员姓名的列表(可选地,后面是他们在括号中的角色)。角色本身可以包含逗号(演员的名字不能,我强烈希望如此)。 我的目标是将此字符串分成成对的列表- 。 一个明显的解决方案是遍历每个字符,检查是否出现,并在出现逗号时将其拆分。但这似乎有点沉重… 我正在考虑使用正则表达式拆分它:首先用括号将字符串拆分: 这里的奇数元素是演员名称,甚至是角色
问题内容: 我有一个长度未知的字符串,看起来像这样 将这些字符串用逗号分隔的最佳方法是什么,以便每个单词都可以成为的元素? 例如 问题答案: 你可以这样做: 基本上,该方法将根据你正在传递的(在这种情况下)定界符来分割字符串,并将返回字符串数组。 但是,你似乎位于字符串列表而不是数组之后,因此必须使用该实用程序将数组转换为列表。就像供你参考一样,你也可以这样做: 但是通常最好是对接口进行编程,而不
问题内容: Java中是否有任何内置方法可以将逗号分隔的String转换为某个容器(例如数组,List或Vector)?还是我需要为此编写自定义代码? 问题答案: 将逗号分隔的字符串转换为列表 上面的代码在定义为的定界符上分割字符串:它将把单词放入列表中,并折叠单词和逗号之间的任何空格。 请注意,这仅返回数组的包装器:例如,你不能从结果中返回结果。对于实际,你必须进一步使用。