[英]Regex that Replaces [number] from String
我想從字符串中刪除[number];
輸入示例為:
1-家庭住址[我的第一個家庭住址#12] [1350]
2-這里有一些文字(這里有一些文字)
3-你好多洛爾坐amet [科斯特街74號] [1008]
輸出示例為:
1-家庭住址[我的第一個家庭住址#12]
2-這里有一些文字(這里有一些文字)
3-您好多洛爾坐amet [科斯特街74號]
我嘗試過的
var pattern = @"^[\d+]$";
var result = Regex.Replace(value, pattern, "");
我想刪除帶有二次符號“ [ ”&“ ] ”的粗體文本,如果它根本不包含它,則保持原樣(請參見第二個示例)。
您嘗試的模式"^[\\d+]$
幾乎是正確的!該模式的問題是您使用的錨點^...$
基本上表示該模式僅與括號中封裝的數字匹配,如果它們是輸入中僅包含字符串, 有關更多技術摘要,請參見錨點上的MSDN文檔。
模式\\[\\d+\\]
將匹配封裝在方括號中的任何數字。
使用Regex.Replace
:-
input = Regex.Replace(input, @"\[\d+\]", string.Empty);
請嘗試以下操作:
input = "home address [my first home address #12] [1350]"
string pattern = @"\[\d+\]";
string replacement = " ";
Regex rgx = new Regex(pattern);
string result = rgx.Replace(input, replacement);
更新:(在使用某些代碼更新問題之后...)
var pattern = @"^[\d+]$";
此模式僅適用於數字。 以下模式應該適合您:
var pattern = @"\[\d+\]";
對於您的示例,您不需要正則表達式。
string address = "home address [my first home address #12] [1350]";
if(address.Count(x => x == '[') >= 2))
address = address.Substring(0, address.LastIndexOf('['));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.