c#使用ascii码检查字符串是否以字符开头和结尾
如何检查c#中的字符串是否以字符的ascii码开头? 函数StartsWith只接收字符串,不接收字符。 我想知道字符串是否以86的ascii开始,以91的ascii结束。c#使用ascii码检查字符串是否以字符开头和结尾,c#,string,ascii,C#,String,Ascii,如何检查c#中的字符串是否以字符的ascii码开头? 函数StartsWith只接收字符串,不接收字符。 我想知道字符串是否以86的ascii开始,以91的ascii结束。 如何实现这一点?将其转换为字符,然后转换为字符串 ((char) 86).ToString() 或者,直接检查字符串: mystring[0] == (char) 86 或: 甚至: mystring.StartsWith("\x56") 您可以通过访问字符串的字符数组来检查开始和结束: string s = "...
如何实现这一点?将其转换为字符,然后转换为字符串
((char) 86).ToString()
或者,直接检查字符串:
mystring[0] == (char) 86
或:
甚至:
mystring.StartsWith("\x56")
您可以通过访问字符串的字符数组来检查开始和结束:
string s = "...";
if ((!String.IsNullOrEmpty(s)) &&
(s[0] == (char)86) && (s[s.Length-1] == (char)91))
// doSomething
您可以直接将字符与其ASCII代码进行比较,无需强制转换:
if (str.Length != 0 && str[0] == 86 && str[str.Length-1] == 91) ...
当然,字符常量的自然形式看起来更好:
if (str.Length != 0 && str[0] == 'V' && str[str.Length-1] == ']') ...
您可以使用string.Startswith like
bool success = yourString.StartsWith(Char.ConvertFromUtf32(86))
&& yourString.EndsWith(Char.ConvertFromUtf32(91));
或者,为了整理这一点,请在接受字符的类型字符串上为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(“您的字符串”[0])
。将字符串的字符传递到其长度,如下所示:
string Yourstring="test";
string asciivalue="";
执行以下操作,直到完成测试
asciivalue=System.Convert.ToInt32("Yourstring"[i]);
这将输出相应的ASCII值。您可以使用正则表达式进行检查。如果s.Length>0或s[0]可能失败,最好包含一个检查。-1您不需要为此操作将整数强制转换为字符。@DavidAnderson我知道,但我更喜欢它的可读性(对任何其他内容都没有影响)可以说,这远不如不铸造可读性强。这看起来乱七八糟,没必要争论,因为每个人都有权发表意见。大多数团队不会通过代码审查,因为您缺少间距、括号,并且有不必要的代码。我认为开发人员推广高质量、构造良好的代码是很重要的,特别是对于那些学习和进入该行业的人。
string Yourstring="test";
string asciivalue="";
asciivalue=System.Convert.ToInt32("Yourstring"[i]);