Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 正则表达式在逗号上拆分,但在包含两个字符的文本限定符内时忽略_C#_Regex - Fatal编程技术网

C# 正则表达式在逗号上拆分,但在包含两个字符的文本限定符内时忽略

C# 正则表达式在逗号上拆分,但在包含两个字符的文本限定符内时忽略,c#,regex,C#,Regex,我见过很多例子,用逗号分割,忽略单引号或双引号中的逗号。我正在寻找一个类似的东西,但是我需要文本限定符,而不是单引号或双引号~* 我试图修改一些使用双引号作为文本限定符的代码,但没有成功。我对regex很糟糕,今天花了一些时间查看文档以理解它,这样我就可以尝试创建一个适合我使用的表达式 是否可以使用两个字符作为文本限定符 其中一行的示例: ~* header1~*, ~* header2 ~*, ~* header3, value1 ~* 我希望输出为: ~* header1~*, ~*

我见过很多例子,用逗号分割,忽略单引号或双引号中的逗号。我正在寻找一个类似的东西,但是我需要文本限定符,而不是单引号或双引号~*

我试图修改一些使用双引号作为文本限定符的代码,但没有成功。我对regex很糟糕,今天花了一些时间查看文档以理解它,这样我就可以尝试创建一个适合我使用的表达式

是否可以使用两个字符作为文本限定符

其中一行的示例:

~* header1~*, ~* header2 ~*, ~* header3, value1 ~*
我希望输出为:

 ~* header1~*, 
 ~* header2~*, 
 ~* header3,value1~*

var result = Regex.Split(line, ",(?=(?:[^']*'[^']*')*[^']*$)");
分两行做

首先使用表达式“~\*\s”替换所有单独的“~*”,并将其替换为一个空格“”
(这将去掉不是新行的~*)

编辑:

您应该能够使用表达式
“(?分两行进行拆分

首先使用表达式“~\*\s”替换所有单独的“~*”,并将其替换为一个空格“”
(这将去掉不是新行的~*)

编辑:

您应该能够使用表达式
“(?分两行进行拆分

首先使用表达式“~\*\s”替换所有单独的“~*”,并将其替换为一个空格“”
(这将去掉不是新行的~*)

编辑:

您应该能够使用表达式
“(?分两行进行拆分

首先使用表达式“~\*\s”替换所有单独的“~*”,并将其替换为一个空格“”
(这将去掉不是新行的~*)

编辑:


您应该能够使用此表达式进行拆分(?您可以使用一个正则表达式来实现所需的输出:

/~\*(.*)~\*[,\s]*/gU

每个捕获组将包含一个字符串。请看一个工作示例:

您可以使用一个正则表达式来实现所需的输出:

/~\*(.*)~\*[,\s]*/gU

每个捕获组将包含一个字符串。请看一个工作示例:

您可以使用一个正则表达式来实现所需的输出:

/~\*(.*)~\*[,\s]*/gU

每个捕获组将包含一个字符串。请看一个工作示例:

您可以使用一个正则表达式来实现所需的输出:

/~\*(.*)~\*[,\s]*/gU
每个捕获组将包含一个字符串。请看一个工作示例:

无需拆分

string input = "~* header1~*, ~* header2 ~*, ~* header3, value1 ~*";
string pattern = @"~\* \s* .+? \s* ~\*";
var matches = Regex.Matches(input, pattern, RegexOptions.IgnorePatternWhitespace);
不需要分开

string input = "~* header1~*, ~* header2 ~*, ~* header3, value1 ~*";
string pattern = @"~\* \s* .+? \s* ~\*";
var matches = Regex.Matches(input, pattern, RegexOptions.IgnorePatternWhitespace);
不需要分开

string input = "~* header1~*, ~* header2 ~*, ~* header3, value1 ~*";
string pattern = @"~\* \s* .+? \s* ~\*";
var matches = Regex.Matches(input, pattern, RegexOptions.IgnorePatternWhitespace);
不需要分开

string input = "~* header1~*, ~* header2 ~*, ~* header3, value1 ~*";
string pattern = @"~\* \s* .+? \s* ~\*";
var matches = Regex.Matches(input, pattern, RegexOptions.IgnorePatternWhitespace);


不幸的是,某些数据中会有一些波浪形。我已更新了答案,处的示例显示了字符串中有波浪形的工作示例。不幸的是,某些数据中会有一些波浪形。我已更新了答案,处的示例显示了字符串中有波浪形的工作示例。不幸的是,会有一些在一些数据中使用波浪线。我已经更新了答案,在的示例中显示了一个在字符串中使用波浪线的工作示例。不幸的是,在一些数据中会出现一些波浪线。我已经更新了答案,在的示例中显示了一个在字符串中使用波浪线的工作示例。我将对此进行尝试。但是我忘了提到我想要使用波浪线o将~*保留为文本限定符,并将更新我的question@KevinMee我添加了一个可以生成您的输出的编辑。我会尝试一下。但是我忘了提到我想将~*保留为文本限定符,并将更新我的question@KevinMee我添加了一个编辑,可以生成您的输出。我会尝试一下。但是我忘了提到我要将~*保留为文本限定符,并将更新我的question@KevinMee我添加了一个可以生成您的输出的编辑。我会尝试一下。但是我忘了提到我想将~*保留为文本限定符,并将更新我的question@KevinMee我添加了一个生成输出的编辑。关闭..这遗漏了几个案例。我正在检查header column column count针对每行列计数和几行未通过。Close..这遗漏了一些情况。我正在针对每行列计数和几行未通过检查标题列计数。Close..这遗漏了一些情况。我正在针对每行列计数和几行未通过检查标题列计数。Close..这遗漏了一些情况。我正在根据每行-列计数检查标题列计数,有几行未通过。