如何通过使用字符串的ascii字符来查找字符串是否有回车符



在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;
}

最新更新