2012-12-09 34 views
1

我有這個字符串的最佳方式:會是怎樣解析字符串中2個字符

「網絡適配器本地主機上的‘瑞昱的PCIe GBE家庭控制器’」

這將是最好的方式只返回「'」之間的字符串? (瑞昱的PCIe GBE家庭控制器)

+0

如果你知道有兩個'',你可以遍歷字符。您可以使用正則表達式,也可以對Substring使用IndexOf和LastIndexOf。 – Blim

回答

0

可以使用Substring()方法砍掉它。

tempStr = str.Substring(str.IndexOf("'")+1); 
yourStr = tempStr.SubString(0, tempStr.IndexOf("'")); 
2

如果您熟悉正則表達式,你可以使用這樣的模式:

/'[^']*'/ 

捕捉單引號之間的一切

2

您可以使用正則表達式,像這樣:

var s = "hello 'world' hehe"; 
var m = Regex.Match(s, "'([^']*)'"); 
string res = null; 
if (m.Success) { 
    res = m.Groups[1].ToString(); 
} 
Console.WriteLine(res); 

到解決方案的關鍵是這樣的正則表達式:

'([^']*)' 

它開始比賽的時候,它找到了一個單引號,並繼續,直到它找到結束報價,捕獲介於兩者之間的所有內容。然後通過Regex API檢索捕獲的組。請注意,您定義的捕獲組從索引1開始;索引零被保留以表示「整個匹配」。請參閱demo on ideone