1

私はこの文字列を持っています:

「ローカル ホスト上のネットワーク アダプタ 'Realtek PCIe GBE Family Controller'」

"'" の間の文字列のみを返す最良の方法は何ですか? (Realtek PCIe GBE ファミリ コントローラ)

4

3 に答える 3

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を介して取得されます。定義するキャプチャ グループは index で始まることに注意してください1。インデックス 0 は、「一致全体」を意味するために予約されています。

ideoneのデモをご覧ください。

于 2012-12-09T20:41:49.657 に答える
2

正規表現に慣れている場合は、次のようなパターンを使用できます。

/'[^']*'/

一重引用符の間のすべてをキャプチャする

于 2012-12-09T20:37:23.673 に答える
0

メソッドを使用してSubstring()それを切り刻むことができます。

tempStr = str.Substring(str.IndexOf("'")+1);
yourStr = tempStr.SubString(0, tempStr.IndexOf("'"));
于 2012-12-09T20:38:57.950 に答える