Regex 当分隔符位于前面时,如何使用正则表达式拆分字符串,同时保留分隔符?
我正在尝试拆分以下字符串:Regex 当分隔符位于前面时,如何使用正则表达式拆分字符串,同时保留分隔符?,regex,split,Regex,Split,我正在尝试拆分以下字符串: "03/04/1987", "Joseph", "Sam", "F", "12/09/1976", "Saram", "Mary", "M","08/10/1969", "Shik", "Shaary", "F" 我需要使用正则表达式将此字符串拆分为多个字符串。结果应该如下所示: "03/04/1987", "Joseph", "Sam", "F" "12/09/1976", "Saram", "Mary", "M" "08/10/1969", "Shik", "S
"03/04/1987", "Joseph", "Sam", "F", "12/09/1976", "Saram", "Mary", "M","08/10/1969", "Shik", "Shaary", "F"
我需要使用正则表达式将此字符串拆分为多个字符串。结果应该如下所示:
"03/04/1987", "Joseph", "Sam", "F"
"12/09/1976", "Saram", "Mary", "M"
"08/10/1969", "Shik", "Shaary", "F"
谢谢你的帮助
我找到了答案(?=\d{2}/\d{2}/\d{4})。谢谢。这应该适合您:
String[] parts = str.split("(?<=\"[FM]\",) ");
String[]parts=str.split(“(?如果您指出您使用的是什么风格的正则表达式,则更容易提供更完整的解决方案。但是,您可以在逗号上拆分,该逗号后跟zeri或更多空格,并限定日期字符串的正向前瞻性。使用前瞻性可确保引用的日期字符串本身不会被删除
,\s*(?="\d{2}/\d{2}/\d{4}")
在.NET中,您可以使用:
splitArray = Regex.Split(subjectString, @",\s*(?=""\d{2}/\d{2}/\d{4}"")", RegexOptions.Singleline);
在java问题中,使用此模式执行拆分,\s*(?=([^“]*”{8})*$)
或替换为\n
(?delimeter是\d{2}/\d{2}/\d{4}。有时记录可能没有F或M,但肯定以日期开始。