Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.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#_Split - Fatal编程技术网

C# 如何拆分包含逗号和空格组合字符的文本?

C# 如何拆分包含逗号和空格组合字符的文本?,c#,split,C#,Split,我有一行,我想用逗号把它分开 “克拉克·肯特,你好,韦恩先生发送于 下午3时38分。” 听起来很简单,对吧?问题是文本不包含单个逗号字符。您在文本中看到的逗号是逗号和空格组合的单个字符(只需在文本编辑器中复制粘贴上面的句子并将其签出即可) 问题是:我需要用逗号分隔文本。虽然我可以复制粘贴该字符并将其作为分隔符之一添加,但我想知道是否可以将这些文本转换为可以用逗号分隔的文本。好吧,现在不要担心中文单词。文本中最后一个字符的情况与此类似。实际上,当我的应用程序语言设置为中文时,就会出现这种行为 仅

我有一行,我想用逗号把它分开

“克拉克·肯特,你好,韦恩先生发送于 下午3时38分。”

听起来很简单,对吧?问题是文本不包含单个逗号字符。您在文本中看到的逗号是逗号和空格组合的单个字符(只需在文本编辑器中复制粘贴上面的句子并将其签出即可)

问题是:我需要用逗号分隔文本。虽然我可以复制粘贴该字符并将其作为分隔符之一添加,但我想知道是否可以将这些文本转换为可以用逗号分隔的文本。好吧,现在不要担心中文单词。文本中最后一个字符的情况与此类似。实际上,当我的应用程序语言设置为中文时,就会出现这种行为

仅供参考:我以为这样的逗号是不可打印/非ascii字符,但令我惊讶的是,当我在控制台中打印文本时,我得到:

以下是我的输入和预期输出:

输入:
“克拉克·肯特,你好,韦恩先生发送于 下午3:38。”

预期输出:
{“Clark Kent”,“你好,Wayne先生”发送于 下午3:38。”}

我的建议(与评论中的@Chris建议相同)是在拆分之前用普通逗号替换奇怪的逗号值

var s = "Clark Kent,Hello Mr.Wayne,发送于 3:38 PM。";
s = s.Replace(',', ',');
var splitted = s.Split(',');

好处是,如果它发现奇怪的逗号,它将用普通逗号替换它将处理的其他逗号。

您面对的逗号是“”(十六进制:0xff0c)。一种常规unicode字符,可使用字符串替换为逗号和空格。替换方法:

s.Replace("<fullwidthComma>", "<trueComma><space>");
s.Replace(“,”);

我想还不清楚。你最好把输入、当前和预期的输出都放进去。你为什么不在溢出之前先替换(“,”),这样你就没事了?!A真的会help@Fabjan“我想知道是不是……”原来
并不是那么奇怪。它只是unicode中一个叫做“全宽逗号”的东西。十六进制:0xff0c。你应该完全可以用我上面评论的方式替换这些。谢谢Chris。这正是我一直在寻找的。