删除不属于不同字符串的某些字符串
本文关键字:字符串 不属于 删除 | 更新日期: 2023-09-27 18:00:38
我一直在 Unity 中与字符串搏斗,但目前,我不知道该怎么办。
问题是,Unity 仅使用/n 作为新行,而大多数将要放置在数据库中的文本都使用/r/n。如果在不接触它们的情况下完成事情,就不会有太大麻烦,但是如果我在 Unity 中删除换行符并将两个字符串合并为一行,/r 总是留在那里。
通常,这不会引起任何问题,因为它们会被简单地忽略,但是,我正在尝试在其文本中添加一些功能。
简而言之:如何在不删除/r/n 的情况下删除"有/r no/r/n cow/n level"中的/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
位的含义
正则表达式替换将为您提供帮助
var input = "there is/r no/r/n cow/n level";
var result = Regex.Replace(input, @"(?<!(/n)|(/r))((/n)|(/r))(?!(/n)|(/r))", String.Empty);
这表示匹配任何没有/r 或/n 前面或后面没有/r 或/n 的/r 或/n。