我正在逐行阅读.csv文件。例如,一行可以如下所示:String str=“10,1,,,”
。
现在我想拆分根据 ",": <>字符串[]拆分=str.split (",");现在的问题是,这只会导致2个元素,但我想有5个元素,前两个元素应该包含10和1,其他3应该只是一个空字符串。
另一个例子是String str="0,,,,"
,它只产生一个元素,但我想要5个元素。
最后一个例子是< code>String str = "9,,,1,," 给出了2个元素(9和1),但我希望有5个元素。第一个元素应为9,第四个元素应为1,所有其他元素应为空字符串。
这怎么能做到呢?
将-1(或任何负数)作为第二个参数进行拆分:
System.out.println("0,,,,,".split(",", -1).length); // Prints 6.
默认情况下,拆分仅删除尾随分隔符。您可以使用
String str = "9,,,1,,";
String[] parts = str.split(",", -1);
System.out.println(Arrays.toString(parts));
打印
[9, , , 1, , ]
您需要将它与< code>-1参数一起使用
String[] splitted = str.split(",", -1);
这在前面已经讨论过了,例如Java:String split():我希望它在末尾包含空字符串
但是拆分
真的不应该是你解析csv的方式,当你有一个包含逗号的字符串值时,你可能会遇到问题
23,"test,test","123.88"
拆分
将行拆分为4个部分:
[23, "test, test", "123.88"]
我不认为你想要那样。
问题内容: 我正在逐行读取.csv文件。例如,一行可能如下所示:。 现在我想根据“,”进行拆分:现在的问题是,这仅导致2个元素,但我想拥有5个元素,前两个元素应包含10和1,其他3个元素应为空串。 另一个例子是只包含一个元素,但我希望有5个元素。 最后一个示例给出了2个元素(9和1),但我希望有5个元素。第一个元素应为9,第四个元素应为1,所有其他元素应为空String。 如何才能做到这一点? 问
所以,我有以下情况: 所以,我知道用户会输入这样的内容:爱猫和狗。我希望第一个单词(在这个例子中是爱情)总是在第一个字符串中,其他所有单词都在第二个字符串中。我怎样才能做到尽可能简单?
问题内容: 我有一个字符串如下: 我想提取数字:872226816,因此在这种情况下,我假设在第二个逗号开始读取数据之后,随后的逗号结束数据读取。 输出示例: 问题答案: 用于String.split()的 Javadoc
问题内容: 解析文本文件时需要帮助。文本文件包含类似 我的问题是单词之间的空格不相似。有时只有一个空格,有时会给出多个空格。 我需要以这样的方式分割字符串,使我只会得到单词,而不是空格。 问题答案: 会工作。的在正则表达式的结尾,将治疗多发性空格一样单个空格。它返回一个字符串数组(),没有任何结果。
问题内容: 我有一个像这样的字符串: 我想拆分该字符串并选择作为分隔符。 我的代码如下所示: 我得到的是一个包含所有字符作为一个条目的数组: 有人知道为什么吗? 我不能用分割字符串吗? 问题答案: 在RegEx中被视为。因此,您需要对其进行转义:
问题内容: 我有类似的字符串,我需要将它们按字符分开,然后将两个部分分别分配给一个变量。在Ruby中,我会这样做: 显然,Lua没有这么简单的方法。经过一番挖掘,我找不到一种简短的方法来实现自己的目标。我提到我是Lua的一个新手,我需要在Redis的脚本中使用它(因此,它确实应该很小,如果可能的话,只写一个)。 问题答案: 使用模式匹配: 请注意,这是一个魔术字符,因此必须使用进行转义。