首页 > 解决方案 > 如何拆分具有逗号和空格组合字符的文本?

问题描述

我有以下一行,我想用逗号分隔它。

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

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

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

在此处输入图像描述

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

在此处输入图像描述

这是我的输入和预期输出:

输入 :"Clark Kent,Hello Mr.Wayne,发送于 3:38 PM。"

预期输出:{"Clark Kent", "Hello Mr.Wayne", "发送于 3:38 PM。"}.

标签: c#split

解决方案


您面临的逗号是“全角逗号”(十六进制:0xff0c)。可以使用 string.Replace 方法用逗号和空格替换的常规 unicode 字符:

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

推荐阅读