【问题标题】:Split String with an exclusion使用排除项拆分字符串
【发布时间】:2020-08-24 11:06:40
【问题描述】:

所以我想拆分这个字符串

String s = "1,lastname,firstname,"1200,00$",address";

所以分割字符是','

现在的问题是 00 是地址,因为它在 ',' 处拆分

有没有办法让我把 1200,00 合二为一。

我就是这样分裂的

String[] split = res.split(",");
arrlist.add(new Data(split[0], split[1], split[2], split[3], split[4]))

我得到的结果是这样的:ID: 1, LastName: lastname, FirstName: firstname, Salary: "1200, Address: 00$

【问题讨论】:

  • 你可以在, (带空格)上拆分吗?
  • 只需使用" "(空格)字符分割字符串。虽然,您发布的字符串无效。
  • 这能回答你的问题吗? Splitting on comma outside quotes
  • 您的字符串不正确。你里面有'吗?
  • 如果您的字符串包含双引号中的值,而这些值本身包含逗号,那么它基本上是一个单行 CSV 文件。我会使用真正的 CSV 解析器,例如来自 Apache Commons 的解析器。你可以用正则表达式玩很多花样,甚至得到一些对 this 数据有用的东西,但是除非这只是一个简单的测试程序或家庭作业,否则你将不可避免地遇到其他问题。在这里,正则表达式并不是真正适合使用的工具。

标签: java


【解决方案1】:

输入

当输入是这样的:

"1,lastname,firstname,1200,00$,address"

拆分

所以当你用, 拆分它时,你会收到:

output[0]  ->  1
output[1]  ->  lastname
output[2]  ->  firstname
output[3]  ->  1200
output[4]  ->  00$
output[5]  ->  address

这样您就可以将位置34 合并在一起。

新代码

String amount = split[3] + "," + split[4];
arrlist.add(new Data(split[0], split[1], split[2], amount, split[5]));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-10
    • 2014-02-18
    • 2019-12-17
    • 1970-01-01
    • 1970-01-01
    • 2021-07-17
    • 1970-01-01
    相关资源
    最近更新 更多