我一直在 Unity 中处理字符串,但目前我不知道该做什么。
问题是,Unity 仅使用/n 作为换行符,而大多数将要放置在数据库中的文本使用/r/n。如果在不触及它们的情况下完成事情并没有太大的麻烦,但是如果我删除一个换行符并将两个字符串合并到 Unity 中的一行,/r 总是留在那里。
通常,这不会导致任何问题,因为它们会被简单地忽略,但是,我正在尝试向其文本添加一些功能。
简而言之:如何在不删除/r/n的情况下删除“没有/r/n牛/n级别”中的/n和/r?
最佳答案
(假设您实际上是在谈论 \r
和 \n
因为您提到了“换行”)
简单(或快速)的方法
s.Replace("\r\n", @"\/r\/n").Replace("\r","").Replace("\n","").Replace(@"\/r\/n","\r\n")
如果您的字符串中没有"\/r\/n"
,这将起作用,这可能是真的
正则表达式(或安全)方式
s = Regex.Replace(s, "\r([^\n])", "$1");
s = Regex.Replace(s, "([^\r])\n", "$1");
在模式正则表达式中,[^\r]
和 [^\n]
是用括号 ( )
捕获的,您可以在您的替换中重用此捕获,这就是这些 $1
位的含义
关于c# - 删除不属于不同字符串的某些字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31137994/