簡體   English   中英

檢查字符串是否在兩個字母之間

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM