web-dev-qa-db-ja.com

ASCII文字を使用してString.Contain関数を使用して、文字列にキャリッジリターンがあるかどうかを確認するにはどうすればよいですか?

C#で、_String.Contains_関数を使用して、文字列にキャリッジリターンがあるかどうかを確認するにはどうすればよいですか?キャリッジリターンのASCIIは13です。

Chr(13)は、VisualBasicでのキャリッジリターンの表現方法です。キャリッジリターンは、_"\r"_ではなくASCII文字を使用してC#でどのように表されますか?

_if (Word.Contains(Chr(13))  
{  
    .  
    .  
    .  
}  
_
8
C N
if (Word.Contains(Environment.NewLine)) { }
16
Joao

\rを使用したくないと述べているので、整数をcharにキャストできます。

if (Word.Contains((char)13)) { ... }
16
Mark Byers

一重引用符を使用してchar値を入力できます

var s = "hello\r";

if (s.Contains('\r')) 
{

}

読みやすい場合は、13をcharにキャストできます

var s = "hello\r";

if (s.Contains((char)13)) 
{

}
5
Russ Cam

これは、すべての.NETバージョンで有効です。

if (Word.Contains("\r"))
{
  ...
}

これは、.NET3.5からのみ有効です。

if (Word.Contains('\r'))
{
  ...
}
2
user1042509

正規表現でこれを実行できると確信していますが、私のように馬鹿げている場合は、この拡張メソッドが適切な方法です。

public static bool HasLineBreaks(this string expression)
{
    return expression.Split(new[] { "\r\n", "\r", "\n" },StringSplitOptions.None).Length > 1;
}
1
Mike Bruno
s.Contains('\x0D');

文字は一重引用符を使用して表されます。

\ rを使用することの何が問題になっていますか?

1
James Kyburz

Convert.Char(byte asciiValue)は任意の整数からcharを作成します。そう

if (Word.Contains(Convert.Char(13)) 

仕事をする必要があります。

1
Jeremy McGee