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