小编典典

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

all

有没有更好的方法来替换字符串?

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

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

阅读 65

收藏
2022-06-23

共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");
2022-06-23