C# 通过使用字符串的 ASCII 代码检查字符串是否以字符开头和结尾
本文关键字:字符串 是否 字符 开头 结尾 检查 ASCII 代码 | 更新日期: 2023-09-27 18:31:27
如何检查 c# 中的字符串是否以字符的 ascii 代码开头?函数 StartsWith 只接收一个字符串,而不是一个字符。我想知道字符串是否以 ascii 86 开头并以 ascii 91 结尾。我怎样才能做到这一点?
您可以通过访问字符串的 char 数组来检查开始和结束:
string s = "...";
if ((!String.IsNullOrEmpty(s)) &&
(s[0] == (char)86) && (s[s.Length-1] == (char)91))
// doSomething
您可以使用字符串。从喜欢开始
bool success = yourString.StartsWith(Char.ConvertFromUtf32(86))
&& yourString.EndsWith(Char.ConvertFromUtf32(91));
将其转换为字符,然后转换为字符串。
((char) 86).ToString()
或者,只需直接检查字符串:
mystring[0] == (char) 86
或:
mystring[0] == ''x56' // in hex
甚至:
mystring.StartsWith("'x56")
您可以直接将字符与其 ASCII 代码进行比较,而无需强制转换:
if (str.Length != 0 && str[0] == 86 && str[str.Length-1] == 91) ...
当然,字符常量以其自然形式看起来更好:
if (str.Length != 0 && str[0] == 'V' && str[str.Length-1] == ']') ...
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))
通过字符串中的 ASCII 值检查字符在很大程度上与检查实际字符值相同。但是,为了启发您:
string s = "V4-42$TIh[";
if (s[0] == 86 && s[s.Length - 1] == 91) {
// true
}
无需执行任何特殊操作,甚至无需使用函数调用。
您可以使用
此System.Convert.ToInt32("Yourstring"[0])
。传递字符串的字符直到其长度,例如:
string Yourstring="test";
string asciivalue="";
执行以下操作,直到
asciivalue=System.Convert.ToInt32("Yourstring"[i]);
这将输出相应的 ASCII 值。