我有以下字符串,我试图拆分:
"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})。谢谢。
答案 0 :(得分:0)
这应该适合你:
String[] parts = str.split("(?<=\"[FM]\",) ");
它使用正面的后视来断言但不捕获空格前面的字符是"F",
或"M",
。
答案 1 :(得分:0)
如果您指出了正在使用的正则表达式,那么提供更完整的解决方案会更容易。但是,您可以拆分逗号,后面跟着zeri或更多空格,并使用日期字符串的正向前瞻限定。使用前瞻确保不会删除引用的日期字符串本身。
,\s*(?="\d{2}/\d{2}/\d{4}")
在.NET中,您可以使用:
splitArray = Regex.Split(subjectString, @",\s*(?=""\d{2}/\d{2}/\d{4}"")", RegexOptions.Singleline);
答案 2 :(得分:0)
使用此模式执行拆分,\s*(?=(([^"]*"){8})*$)
或替换为\n
Demo