[英]How to get string value in brackets with regex
我已經看過另一頁詢問相同的問題,但是該頁上給出的答案似乎對我不起作用。
我有一個文本文件,在方括號中包含很多單詞,並且我正在嘗試刪除方括號。 我已經打開文本文件,並使用StreamReader類將其轉換為字符串。
當我嘗試顯示字符串時,沒有顯示。
有人可以告訴我我在做什么錯嗎? 這是代碼:
List<string> words = new List<string>();
StreamReader sr = new StreamReader(File.OpenRead(ofd.FileName));
string wordlist = sr.ReadToEnd();
textEntry.Text = wordlist;
MatchCollection matches = Regex.Matches(wordlist, "[(.+?)]", RegexOptions.Singleline);
foreach (Match match in matches)
{
string add = match.Groups[1].Value;
words.Add(add);
}
foreach (string word in words)
{
MessageBox.Show(word);
}
任何幫助表示贊賞,謝謝。
您必須轉義括號,因為它們是正則表達式中保留的關鍵字。 您還會在下面的代碼中看到\\
被轉義了,因為\\
在C#中具有特殊含義,因此請轉義轉義符:
Regex.Matches(wordlist, "\\[(.+?)\\]", RegexOptions.Singleline);
或者,使用逐字運算符:
Regex.Matches(wordlist, @"\[(.+?)\]", RegexOptions.Singleline);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.