簡體   English   中英

如何使用正則表達式獲取括號中的字符串值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM