在C#中,如何使用String.Contains
函数查找字符串是否有回车符?
回车的ascii是13.
Chr(13)
是如何在Visual Basic中表示回车符。如何使用其ascii字符而不是"\r"
在C#中表示回车符?
if (word.Contains(Chr(13))
{
.
.
.
}
答案 0 :(得分:16)
由于您声明不想使用\r
,因此您可以将整数转换为char
:
if (word.Contains((char)13)) { ... }
答案 1 :(得分:15)
if (word.Contains(Environment.NewLine)) { }
答案 2 :(得分:5)
您可以使用单引号输入char
值
var s = "hello\r";
if (s.Contains('\r'))
{
}
如果它更容易阅读,您可以将13
转换为char
var s = "hello\r";
if (s.Contains((char)13))
{
}
答案 3 :(得分:1)
这在所有.NET版本中都有效:
if (word.Contains("\r"))
{
...
}
这仅适用于.NET 3.5:
if (word.Contains('\r'))
{
...
}
答案 4 :(得分:1)
Convert.Char(byte asciiValue)
从任何整数创建一个char;所以
if (word.Contains(Convert.Char(13))
应该做的。
答案 5 :(得分:1)
s.Contains('\x0D');
字符用单引号表示;
使用\ r?
有什么问题答案 6 :(得分:0)
我确定您可以使用正则表达式来执行此操作,但是如果您像我一样笨,则此扩展方法是一种不错的选择:
public static bool HasLineBreaks(this string expression)
{
return expression.Split(new[] { "\r\n", "\r", "\n" },StringSplitOptions.None).Length > 1;
}