2014-01-27 108 views
0

我有一個字符串,它應該是xxxxx.xxxx格式。我的應用程序將自動獲得這個字符串,並有一段時間的字符串看起來像XXXX.XXXX或xxxxxx.xxx或...如何檢查字符串是否爲xxxxx.xxxx格式在c#中?

我的問題是「如何檢查是否字符串是正確的格式?」

我想是這樣的:

myString.Length == 10; 

但也可能是錯的,如果點會在錯誤的地方...

+4

難道這就是是數字,還是可以有任何字符的「x」是?點可以位於10個位置中的任何位置,還是隻有2個位置?一般來說,正則表達式對於檢查字符串是否符合特定模式很有用,您可能想要搜索RegEx示例。 – JohnD

+0

'x'應該代表數字0-9嗎? – crush

+0

'.'總是需要在同一個地方嗎?你的第二句話聽起來可能會有所不同。 *我們需要更多信息!* – crush

回答

4

這裏是一個正則表達式,你可以使用:

\w{5}\x2E\w{4} 

//  Alphanumeric, exactly 5 repetitions 
//  Hex 2E (.) 
//  Alphanumeric, exactly 4 repetitions 

你應該嘗試快報從http://www.ultrapico.com

+0

假設'.'應該總是第6個字符。我不確定作者實際上是不是隻希望在(可能)數字之間的字符串中的某個地方找到一個'.'。 – crush

+0

是的,這個問題有很多含糊之處。我做了一些假設,並給OP提供了足夠的信息來繼續。 –

+0

謝謝=)這就是我尋找的=)評論:如果你將整個if語句的代碼顯示如何使用REGEX將會更有意義... – Bryuk

0

嚴格地說,這將工作:

if (myString.Length == 10 && myString.IndexOf('.') == 5) 
{ 
    //do something 


} 

if (myString.Length == 10 && myString.CharAt(5) == '.') 
{ 
    //do something 


} 

如果「X」必須等於一個字母數字字符,那麼這將工作:

Match match = Regex.Match(input, @"[A-z0-9]{5}\.[A-z0-9]{4}$"); 
if (match.Success) 
{ 


    //do something 
} 
+0

而不是'IndexOf'專門檢查該索引。 – crush

+0

如果字符串全是'.'會怎麼樣? – cgTag

+2

這可能爲'xxxxx.x.xx'返回true – Habib

相關問題