2013-02-26 79 views
-5

我有这样的代码:如何从字符串中删除 n r?

if (t == obj) 
{ 
    LocalyKeyWords.Remove(tokens[0]); 
} 

变量tstringobjstring。 在某些情况下,即时通讯使用断点,看看到底obj是否包含\n\r所以我要检查,如果字符串包含OBJ删除\n\r\n\r然后使t == obj

我怎么能做到这一点的比较呢?

+0

你确定它不是'\ r \ n'吗? – Default 2013-02-26 15:45:34

+1

@Default好吧,我已经看到了“\ n \ r”的实例,所以这是*可能*,但不太可能。如果你接受来自未知来源的输入,你应该足够强大,以处理'\ n'和'\ r'的任何组合。 – Servy 2013-02-26 15:46:39

+0

@Servy不知道..我认为有一些关于换行符的指导原则,至少在Windows和Unix之间是Unix的。 – Default 2013-02-26 15:48:17

回答

5
myString = myString.Replace("\n", string.Empty).Replace("\r", string.Empty); 
+0

当某人有“\ r \ n”以外的换行符时会发生什么,如“\ n”? – Servy 2013-02-26 15:45:16

+0

@Servy他们可以单独替换它们 – 2013-02-26 15:46:43

+0

是的,他们可以。如果你想从整个字符串中删除所有换行符,那就是你有*要做的事情。 – Servy 2013-02-26 15:47:14

1

的常用方法摆脱不需要的字符是Replace他们用空字符串

0

只是用这个

t = t.Replace("\r\n", string.Empty); 
3

Trim删除空格从字符串的开头和结尾,所以如果你只想从两端删除空格,我建议使用:

if (t.Trim() == obj.Trim()) 

如果必须从整个字符串中删除所有换行符,那么你可以使用这个:

public static string RemoveNewlines(string input) 
{ 
    return input.Replace("\r", "").Replace("\n", ""); 
} 

由于该功能将能够处理任何类型的换行符的,无论是\n\r\n\r,甚至几个组合。