我有這個字符串的最佳方式:會是怎樣解析字符串中2個字符
「網絡適配器本地主機上的‘瑞昱的PCIe GBE家庭控制器’」
這將是最好的方式只返回「'」之間的字符串? (瑞昱的PCIe GBE家庭控制器)
我有這個字符串的最佳方式:會是怎樣解析字符串中2個字符
「網絡適配器本地主機上的‘瑞昱的PCIe GBE家庭控制器’」
這將是最好的方式只返回「'」之間的字符串? (瑞昱的PCIe GBE家庭控制器)
可以使用Substring()
方法砍掉它。
tempStr = str.Substring(str.IndexOf("'")+1);
yourStr = tempStr.SubString(0, tempStr.IndexOf("'"));
如果您熟悉正則表達式,你可以使用這樣的模式:
/'[^']*'/
捕捉單引號之間的一切
您可以使用正則表達式,像這樣:
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。
如果你知道有兩個'',你可以遍歷字符。您可以使用正則表達式,也可以對Substring使用IndexOf和LastIndexOf。 – Blim