2011-08-19 50 views
1

我目前有以下代碼來從字符串中獲得我需要的特定值。剝離C中的未知值

char[] delimiterChars = { ' ', 'B', 'O', 'B'}; 
        string text = input.ToString(); 
        string[] words = text.Split(delimiterChars); 

不幸的是,在字符串中的空格是未知的字符,由用戶輸入。是否有通配符可以在該空間之前獲取所有角色?我希望我可以在空間'* '的第一個引號內加一個*,但似乎並不那樣。

謝謝。

編輯:

所以字符串變量由一系列由用戶輸入的字符的那麼它有BOB和一個隨機整數添加到末尾。我的目標是隻檢索字符串末尾的數字。

一個示例字符串的例子是「用戶BOB44」 對不起,並再次感謝!

+1

爲什麼要指定字符'B'兩次? 'String.Split(char [])'分割*任何字符*,而不是由字符組成的字符串。 – cdhowie

+0

哦,我認爲它是按照它在字符串中的順序進行分割的。 (對不起,我有點新) –

+0

你能提供一個樣本並解釋要實現什麼嗎? – V4Vendetta

回答

2

您可以使用正則表達式來獲得一個字符串

/([0-9]*)$/年底數量將捕獲的連續數字字符的最後一組在一個字符串

在C#(它看起來像結束您正在使用該語言):

Regex pattern = new Regex("([0-9]*)$"); 
MatchCollection matches = pattern.Matches(input); 
if (matches.Count > 0) { 
    // matches[0] will contain the number 
} 
+0

我怎麼能得到匹配的值(我想獲得int值,所以我試圖'index =(Convert.ToInt32(matches [1] .Value.ToString()) - 1);' –

+0

但它的說字符串是不正確的格式,當我運行它 –

+0

嘗試匹配[0]; – Johnston