在C#中,如何使用String.Contains
函数来查找字符串是否有回车?回车的ascii码是13。
Chr(13)
是在Visual Basic中表示回车的方式。如何使用C#中的ascii字符而不是"r"
来表示回车?
if (word.Contains(Chr(13))
{
.
.
.
}
if (word.Contains(Environment.NewLine)) { }
由于您声明不想使用r
,因此可以将整数强制转换为char
:
if (word.Contains((char)13)) { ... }
您可以使用单引号输入char
值
var s = "hellor";
if (s.Contains('r'))
{
}
如果更容易阅读,可以将13
转换为字符
var s = "hellor";
if (s.Contains((char)13))
{
}
这在所有.NET版本中都有效:
if (word.Contains("r"))
{
...
}
这仅在.NET 3.5:中有效
if (word.Contains('r'))
{
...
}
Convert.Char(byte asciiValue)
从任何整数创建一个字符;所以
if (word.Contains(Convert.Char(13))
应该做这项工作。
s.Contains('x0D');
字符使用单引号表示;
使用\r有什么问题?
我相信你可以用正则表达式做到这一点,但如果你像我一样愚蠢,这个扩展方法是一个很好的方法:
public static bool HasLineBreaks(this string expression)
{
return expression.Split(new[] { "rn", "r", "n" },StringSplitOptions.None).Length > 1;
}