2012-09-20 134 views
0

當我在SharePoint 2010中獲取列表從「作者」列的列表值,下面被顯示:從字符串中刪除數字

2;#SP10Setup

現在創建用戶特殊的列表項是「SP10Setup」,現在有沒有簡單的方法去除SP10Setup開頭的「2;#」而不影響「SP10Setup」中的數字?

我有,目前被剝離出來的所有數字

//method to strip out unnecessary digits 
public static string RemoveDigits(string key) 
{ 

return Regex.Replace(key, @"\d", ""); 
} 

這是我得到的特定列表項值的方法:

string author = listItem["Author"].ToString(); 

我這是怎麼刪除不想要的數字和字符:

//calling the RemoveCharacter method 
string noDigitsAuthor = RemoveDigits(author); 
string cleanedupAuthor = noDigitsAuthor.Replace(";", "").Replace("#", ""); 

結果我從這個得到的是「SPSetup」,但理想的我想要的結果成爲「SP10Setup」。

什麼是實現這一目標的最快,最簡單的方法...提前

回答

3

你不應該自己動手。 使用SPFieldLookupValue

String author = "2;#SP10Setup"; 
SPFieldLookupValue lookup = new SPFieldLookupValue(author); 
string cleanedupAuthor = lookup.LookupValue; 
int authorId = lookup.LookupId; 

所以你必須:

cleanedupAuthor = "SP10Setup" 
authorId = 2 
+0

哇這工作得很漂亮很簡單,沒有必要亂用正則表達式,並替換字符......非常感謝 –

1

使用正則表達式像^\d*;#

感謝。 ^匹配字符串的開頭,\d*表示匹配零個或多個數字,而;#是文字。