gpt4 book ai didi

Java用正则表达式引用字符串解析

转载 作者:行者123 更新时间:2023-11-30 11:09:11 25 4
gpt4 key购买 nike

假设我有一个字符串

123 --o 45 xyz 67 "abc def""ghi jkl m"""""xy z

我需要将其解析为一个字符串数组

["123", "--o", "45", "xyz", "67", "abc def", "ghi jkl m", "", "", "xy", “z”]

我用空格分隔字符串的直接方法 (split("\\s+")) 不合适,因为它用空格分隔字符串并且不考虑双引号。

但我还需要分隔引用的元素("ghi jkl m""abc def""") .

如何修改方法 split 中的正则表达式以实现我的目标?

UPD

我们还应该考虑空格。

=> [a, "s ", abc, "", "ad"sdsd"sdsd"]

"ad"sdsd"sdsd" 是一个单一的元素。

最佳答案

根据以下使用正面前瞻断言的正则表达式拆分您的输入。

String text = "123 --o 45 xyz 67 \"abc def\" \" ghi jkl m\" \" \" \"\" xy z";
String parts[] = text.split("\\s+(?=(?:\"[^\"]*\"|[^\"])*$)");
System.out.println(Arrays.toString(parts));

输出:

[123, --o, 45, xyz, 67, "abc def", " ghi jkl m", " ", "", xy, z]

关于Java用正则表达式引用字符串解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28237904/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com