如何使用String.Contain函数使用其ascii字符查找字符串是否有回车符?

时间:2011-11-11 21:35:25

标签: c# string ascii contains

在C#中,如何使用String.Contains函数查找字符串是否有回车符? 回车的ascii是13.

Chr(13)是如何在Visual Basic中表示回车符。如何使用其ascii字符而不是"\r"在C#中表示回车符?

if (word.Contains(Chr(13))  
{  
    .  
    .  
    .  
}  

7 个答案:

答案 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;
}