如果你有一個單一的入口...
你需要一點微調之後使用LastIndexOf
與Substring
:
var s = @"[HKEY_LOCAL_MACHINE\SOFTWARE\4YourSoul\Server\ReportEMailService\OrderConfirmation_SynergyWorldInc]";
s = s.Trim('[',']');
Console.Write(s.Substring(s.LastIndexOf('\\') + 1));
結果:OrderConfirmation_SynergyWorldInc
IF YOU HAVE多個記錄...
You c一個使用正則表達式從含有[...]
子一個大的文本提取多個匹配:
[^\\\[\]]+(?=\])
見demo
對於[HKEY_LOCAL_MACHINE\SOFTWARE\4YourSoul\Server\ReportEMailService\OrderConfirmation_SynergyWorldInc][SOMEENTRY]
字符串,那麼你將得到2個結果:
的正則表達式匹配
[^\\\[\]]+
- 1個或多個字符比]
,[
和\
(?=\])
另一方面 - 端]
字符之前。
C#:
var results = Regex.Matches(s, @"[^\\\[\]]+(?=\])").OfType<Match>().Select(p => p.Value).ToList();
任何嘗試??????? – vks
String.LastIndexOf和string.SubString –
在您的示例中,該字符串根本不包含任何「/」符號。 –