c#通过使用ascii代码检查字符串是否以char开头和结尾

时间:2012-04-16 13:07:27

标签: c# string ascii

如何检查c#中的字符串是否以char的ascii代码开头? 函数StartsWith只接收一个字符串而不是char。 我想知道字符串是以ascii为86开头,以ascii为91结尾。 我怎样才能做到这一点?

7 个答案:

答案 0 :(得分:6)

您可以通过访问字符串的char数组来检查开头和结尾:

string s = "...";

if ((!String.IsNullOrEmpty(s)) && 
    (s[0] == (char)86) && (s[s.Length-1] == (char)91))
    // doSomething

答案 1 :(得分:5)

你可以使用string.Startswith like

bool success = yourString.StartsWith(Char.ConvertFromUtf32(86))
               && yourString.EndsWith(Char.ConvertFromUtf32(91));

答案 2 :(得分:1)

将其转换为char,然后转换为字符串。

((char) 86).ToString()

或者,只需直接检查字符串:

mystring[0] == (char) 86

或者:

mystring[0] == '\x56' // in hex

甚至:

mystring.StartsWith("\x56")

答案 3 :(得分:1)

您可以直接将字符与其ASCII代码进行比较,而无需使用强制转换:

if (str.Length != 0 && str[0] == 86 && str[str.Length-1] == 91) ...

当然,字符常量的自然形式看起来更好:

if (str.Length != 0 && str[0] == 'V' && str[str.Length-1] == ']') ...

答案 4 :(得分:0)

var startChar = char(86).ToString();
var endChar = char(91).ToString();

if (myString.StartsWith(startCar) && myString.EndsWith(endChar))
{
    ....
}

或者整理为StartWith / EndWith在类型字符串上实现自己的扩展方法,该字符串采用字符:

public static string StartsWith(this string str, char ch)
{
     return str.StartsWith(ch.ToString());
}

然后你的代码就像:

myString.StartsWith(char(86)) && myString.EndsWith(char(91))

答案 5 :(得分:0)

通过字符串中的ASCII值检查字符大部分都与检查实际字符值相同。但是,要启发你:

string s = "V4-42$TIh[";

if (s[0] == 86 && s[s.Length - 1] == 91) {
    // true
}

无需做任何特别的事情,甚至不需要使用函数调用。

答案 6 :(得分:0)

您可以使用此System.Convert.ToInt32("Yourstring"[0])。将字符串的字符传递到它的长度,如:

string Yourstring="test";
string asciivalue="";

执行以下操作直到

的长度
asciivalue=System.Convert.ToInt32("Yourstring"[i]);

这将输出相应的ASCII值..