C# 检查字符串是否在两个字母之间
我正在将VIN编号解码为有用的信息,并为国家提供一系列双字母(例如:SA-SM是大不列颠)。如何检查SG是否在SA和SM之间?我想用十六进制,但它不能转换成十六进制,因为它超过了E。如果你坚持使用数字,十六进制不是唯一的基数:那么base-26呢C# 检查字符串是否在两个字母之间,c#,string,C#,String,我正在将VIN编号解码为有用的信息,并为国家提供一系列双字母(例如:SA-SM是大不列颠)。如何检查SG是否在SA和SM之间?我想用十六进制,但它不能转换成十六进制,因为它超过了E。如果你坚持使用数字,十六进制不是唯一的基数:那么base-26呢 var str = "SK"; var base26 = 26*(str[0]-'A')+(str[1]-'A'); 只要两个字符串长度相同,按字典顺序比较字符串没有什么错。如果你坚持使用数字,十六进制并不是唯一的基数:那么base-26呢 var
var str = "SK";
var base26 = 26*(str[0]-'A')+(str[1]-'A');
只要两个字符串长度相同,按字典顺序比较字符串没有什么错。如果你坚持使用数字,十六进制并不是唯一的基数:那么base-26呢
var str = "SK";
var base26 = 26*(str[0]-'A')+(str[1]-'A');
if (String.Compare("SG","SA") > 0 && String.Compare("SG","SM") < 0)
{ // SG between SA and SM
}
只要两个字符串长度相同,按字典顺序比较字符串没有什么错。if(String.Compare(“SG”、“SA”)>0&&String.Compare(“SG”、“SM”)<0)
if (String.Compare("SG","SA") > 0 && String.Compare("SG","SM") < 0)
{ // SG between SA and SM
}
{//SG在SA和SM之间
}
忽略案例
if (String.Compare("SG","SA",true) > 0 && String.Compare("SG","SM",true) < 0)
{ // SG between SA and SM
}
if(String.Compare(“SG”,“SA”,true)>0&&String.Compare(“SG”,“SM”,true)<0)
{//SG在SA和SM之间
}
您还可以使用CurrentCulture、CurrentCultureIgnoreCase、InvariantCulture、InvariantCultureIgnoreCase、Ordinal、OrdinalIgnoreCase()中的一种
if(String.Compare(“SG”、“SA”、CurrentCultureInoRecase)>0&&String.Compare(“SG”、“SM”、CurrentCultureInoRecase)<0)
{//SG在SA和SM之间
}
if(String.Compare(“SG”、“SA”)>0和&String.Compare(“SG”、“SM”)<0)
{//SG在SA和SM之间
}
忽略案例
if (String.Compare("SG","SA",true) > 0 && String.Compare("SG","SM",true) < 0)
{ // SG between SA and SM
}
if(String.Compare(“SG”,“SA”,true)>0&&String.Compare(“SG”,“SM”,true)<0)
{//SG在SA和SM之间
}
您还可以使用CurrentCulture、CurrentCultureIgnoreCase、InvariantCulture、InvariantCultureIgnoreCase、Ordinal、OrdinalIgnoreCase()中的一种
if(String.Compare(“SG”、“SA”、CurrentCultureInoRecase)>0&&String.Compare(“SG”、“SM”、CurrentCultureInoRecase)<0)
{//SG在SA和SM之间
}
试着这样做:
string test= "SASGSM";
if(test.IndexOf("SG") > -1) {
//your action
}
试着这样做:
string test= "SASGSM";
if(test.IndexOf("SG") > -1) {
//your action
}
value[0]=='S'&&value[1]>='A'&&value[1]value[0]='S'&&value[1]>='A'&&value[1]这不是他所说的“介于之间”的意思是的,他说的是“介于之间”,而不是字符串中的字面上的字符。这不是他所说的“介于之间”的意思是的,他说的是“介于之间”不是字符串中的字面字符。如果有小写的a
,这很有趣:D@Hogan如果我刚刚将字符串初始化为“SK”
?:),那么小写的'a'
从何而来撇开玩笑不谈,我认为你提出了一个很好的观点:字符串需要转换为大写,在转换为base-26之前,检查只包含字母。是的,这正是我的观点——滚动你自己的是有趣的,但是String。比较会给已经编写的代码提供更多的功能。如果有小写a
,这很有趣:D@Hogan小写的'a'
从何而来,如果我刚刚将字符串初始化为“SK”
?:):)撇开玩笑不谈,我认为你提出了一个很好的观点:字符串需要转换为大写,在转换为base-26之前,检查只包含字母。是的,这正是我的观点——滚动你自己的是有趣的,但是String。Compare
在已经编写的代码中提供了更多的功能。String还有一个CompareOrdinal
方法。如果字符串同时包含字母和数字(vin可能包含这两个数字),则此操作非常有效。祝你好运。String还有一个CompareOrdinal
方法。如果字符串同时包含字母和数字(vin可能包含这两个数字),则此操作非常有效。祝你好运