小编典典

替换C#字符串中的多个字符

c#

有替代字符串的更好方法吗?

令我惊讶的是,Replace不包含字符数组或字符串数​​组。我想我可以编写自己的扩展名,但我很好奇是否有更好的内置方法可以执行以下操作?请注意,最后一个Replace是字符串而不是字符。

myString.Replace(';', '\n').Replace(',', '\n').Replace('\r', '\n').Replace('\t', '\n').Replace(' ', '\n').Replace("\n\n", "\n");

阅读 724

收藏
2020-05-19

共1个答案

小编典典

您可以使用替换正则表达式。

s/[;,\t\r ]|[\n]{2}/\n/g
  • s/ 开头意味着搜索
  • 之间的字符[]是搜索(以任何顺序)的字符
  • 第二个/分隔搜索文本和替换文本

用英语写成:

“搜索;,\t\r`(空格)或正好两个连续,\n然后将其替换为\n`”

在C#中,您可以执行以下操作:(导入后System.Text.RegularExpressions

Regex pattern = new Regex("[;,\t\r ]|[\n]{2}");
pattern.Replace(myString, "\n");
2020-05-19