Splitting a string and ignoring the delimiter inside quotes

前端 未结 4 1404
轻奢々
轻奢々 2021-02-19 10:48

I am using .NET\'s String.Split method to break up a string using commas, but I want to ignore strings enclosed in double quotes for the string. I have read that a

For

4条回答
  •  星月不相逢
    2021-02-19 11:24

    You are better off with a parser, like those mentioned in the comments. That said, it's possible to do it with regex in the following way:

    ,(?=(?:[^"]*"[^"]*")*[^"]*$)
    

    The positive lookahead ((?= ... )) ensures that there is an even number of quotes ahead of the comma to split on (i.e. either they occur in pairs, or there are none).

    [^"]* matches non-quote characters.

提交回复
热议问题