簡體   English   中英

C#使用正則表達式刪除括號內的所有內容以及括號本身

[英]C# Use Regex to Remove everything inside brackets and the brackets themselves

我有一個字符串:

var schoolName = "University of Hawaii [Maui/Oahu/Kaui]";

我想刪除方括號內的所有內容以及方括號本身,以便該字符串僅輸出“夏威夷大學”。

我一直在尋找正確的正則表達式,但尚未找到解決方案:

var pattern = @"\[(.*?)\]";
var query = "University of Hawaii [Maui/Oahu/Kaui]";
var matches = Regex.Matches(query, pattern);

foreach (Match m in matches) {
    Console.WriteLine(m.Groups[1]);
}

謝謝你的幫助!

你快到了。 您必須使用Replace方法:

var pattern = @" \[(.*?)\]";
var query = "University of Hawaii [Maui/Oahu/Kaui]";
Console.WriteLine(Regex.Replace(query, pattern, string.Empty));

僅使用\\[.*?\\]即可匹配包括括號在內的所有內容。

由於我對C#不太熟悉,因此您可以將其替換為空字符串嗎?

您可以這樣做:

var pattern = @"\s\[.*\]";
var regex = new Regex(pattern);
var result = regex.Replace(query, "");

那這個呢:

var pattern = @"\[.*\]";
var query = "University of Hawaii [Maui/Oahu/Kaui]";
var result = Regex.Replace(query, pattern);
Console.WriteLine(result);

這是我用來完成這項工作的代碼:

var pattern = @"\[(.*?)\]";
var result = Regex.Replace(stringToSanitize, pattern, string.Empty);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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