我正在寻找正则表达式以在Java中执行以下操作:
String originalString = "";
String splitString[] = originalString.spilt(regex);
一些测试用例:
Original1: foo bar "simple"
Spilt1: { "foo", "bar", "\"simple\"" }
Original2: foo bar "harder \"case"
Spilt2: { "foo", "bar", "\"harder \"case\"" }
Original3: foo bar "harder case\\"
Spilt3: { "foo", "bar", "\"harder case\\"" }
我遇到的一些摘要:
# Does not react to escaped quotes
(?=([^\"]*\"[^\"]*\")*[^\"]*$)
# Finds relevant quotes that surround args
(?<!\\)(?:\\{2})*\"
谢谢!
String stringToSplit = This is the string to split;
String[] split = stringToSplit.split("character to split at");
在这种情况下,split[0]
结果将为“ This”,split[1]
“ is”,split[2]
“ the”,split[3]
“
string split[4]
”,split[5]
“ split”。
此时您可以
var0 = split[0];
var1 = split[1];
var2 = split[2];
在哪里var0
等于“ This”,依此类推…
希望这可以帮助。
问题内容: 我有一个像这样的字符串: 我想将其按空格分开,但引号内的空格应忽略。因此,分割后的字符串应为: 语言是Java。 问题答案: 这应该为您完成工作: 输出:
问题内容: 我有一些输入如下所示: 逗号分隔的值可以是任何顺序。我想用逗号分割字符串;但是,在双引号内包含某些内容的情况下,我需要它既忽略逗号又去除引号(如果可能)。因此,基本上,输出将是以下字符串列表: 我已经看过其他一些答案,并且我认为正则表达式是最好的,但是我想出这些答案很糟糕。 问题答案: 拉瑟是对的。这是一个逗号分隔的值文件,因此您应该使用module。一个简单的例子:
问题内容: 我有一个模糊的字符串,像这样: 我想按逗号分割-但我需要忽略引号中的逗号。我怎样才能做到这一点?似乎正则表达式方法失败了;我想我可以在看到报价时手动扫描并进入其他模式,但是使用预先存在的库会很好。(编辑:我想我的意思是那些已经属于JDK或已经属于诸如Apache Commons之类的常用库的库。) 上面的字符串应分为: 注意:这不是CSV文件,它是文件中包含的单个字符串,具有较大的整体
问题内容: 我有这样一个字符串: 我想按逗号分割-但我需要忽略引号中的逗号。我怎样才能做到这一点?似乎正则表达式方法失败了;我想我可以在看到报价时手动扫描并进入其他模式,但是使用预先存在的库会很好。 上面的字符串应分为: 问题答案: 可以使用正则表达式 输出:
输入字符串用逗号分隔。但它可能包含双引号内的逗号,需要忽略。下面是示例字符串 下面是我用来拆分逗号的代码,但如果逗号是双引号中字符串的一部分,它就会失败。 所以任何解决这个问题的想法。
问题内容: 我有以下字符串: 我“肯定”想“上学”。 现在,我想在省略号处分割此字符串,即我想获得以下输出: 我会 一定 喜欢 上学 。 问题答案: 如果您是用引号()代替省略号,最简单的解决方案是使用 :