C#(正则表达式)中的正则表达式

时间:2011-12-08 04:06:33

标签: c# .net regex

我有以下输入文字:

  

10,“ABASTECEDORA NAVAL Y INDUSTRIAL,S.A。”, - 0-,“CUBA”

我需要String[] result

result[0] == "10"
result[1] == "ABASTECEDORA NAVAL Y INDUSTRIAL, S.A."
result[2] == "-0-"
result[3] == "CUBA"

请帮我给我一个正则表达式模式来分割上述结果的输入。

3 个答案:

答案 0 :(得分:5)

看起来您正在阅读带有可选引文的CSV文件,并且您想要解析单行。看看这个优秀的.NET CSV阅读器API:

http://www.codeproject.com/KB/database/CsvReader.aspx

答案 1 :(得分:0)

看起来这可能是您正在阅读的CSV文件,如果是这样,您应该使用.NET CSV API。

但是,如果您真的想使用正则表达式,可以使用Regex.split()函数将输入拆分为String[]

http://msdn.microsoft.com/en-us/library/8yttk7sy.aspx

答案 2 :(得分:0)

这样的内容适用于您的具体示例:

(\d+),"([^"]+)",([^,]+),"([^"]+)"

但是,看起来你真的在解析CSV,所以我会为此使用适当的CSV库。我提供的模式不会考虑String等中的嵌入和转义引号/逗号。