簡體   English   中英

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

[英]How do I find whether a string has a carriage return by using the String.Contain function using its ascii character?

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

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

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

既然你聲明你不想使用\\r那么你可以將整數轉換為char

if (word.Contains((char)13)) { ... }
if (word.Contains(Environment.NewLine)) { }

您可以使用單引號輸入char

var s = "hello\r";

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

}

如果它更容易閱讀,你可以將13投射到char

var s = "hello\r";

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

}

我敢肯定你可以用正則表達式做到這一點,但如果你像我一樣愚蠢,這種擴展方法是一個很好的方法:

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

這在所有.NET版本中都有效:

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

這僅適用於.NET 3.5:

if (word.Contains('\r'))
{
  ...
}

Convert.Char(byte asciiValue)從任何整數創建一個char; 所以

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

應該做的工作。

s.Contains('\x0D');

字符用單引號表示;

使用\\ r \\ n有什么問題?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM