[英]Check if string is between two letters
我正在努力將VIN號碼解碼為有用的信息,並針對該國家/地區給出了一系列雙字母(例如:SA-SM是英國)。 如何檢查SG在SA和SM之間? 我正在考慮十六進制,但是由於它超出了E,因此無法轉換為十六進制。
if (String.Compare("SG","SA") > 0 && String.Compare("SG","SM") < 0)
{ // SG between SA and SM
}
忽略大小寫
if (String.Compare("SG","SA",true) > 0 && String.Compare("SG","SM",true) < 0)
{ // SG between SA and SM
}
您還可以使用CurrentCulture,CurrentCultureIgnoreCase,InvariantCulture,InvariantCultureIgnoreCase,Ordinal,OrdinalIgnoreCase中的一種( msdn docs )
if (String.Compare("SG","SA",CurrentCultureIgnoreCase) > 0 && String.Compare("SG","SM",CurrentCultureIgnoreCase) < 0)
{ // SG between SA and SM
}
value[0] == 'S' && value[1] >= 'A' && value[1] <= 'M'
如果您堅持使用數字,那么十六進制不是唯一的基礎:base-26呢?
var str = "SK";
var base26 = 26*(str[0]-'A')+(str[1]-'A');
只要兩個字符串的長度相同,就按字典順序比較字符串沒有任何問題。
這樣嘗試:
string test= "SASGSM";
if(test.IndexOf("SG") > -1) {
//your action
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.