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

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

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

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

回答:

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

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");

以上是 替换C#字符串中的多个字符 的全部内容, 来源链接: utcz.com/qa/425659.html

回到顶部