[英]regex for removing curly brackets with nested curly brackets
這是我的字符串: "This Is {{ dsfdf {{dsfsd}} ewrwrewr }} My Result"
。
我想刪除外部花括號及其內容。 結果應該是"This Is My Result"
。
這是我目前最好的鏡頭:
Text = Regex.Replace(Text, "{{([^}]*)}}", String.Empty);
但效果不佳。 我收到"This Is ewrwrewr }} My Text"
也許應該用余額匹配解決...
我會很感激,如果有人可以幫助我解決這個問題,因為雖然多次嘗試我不能做我自己。
一種簡單但緩慢的方法是多次應用正則表達式,直到沒有更多更改為止:
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main(string[] args)
{
string s = "This Is {{ dsfdf {{dsfsd}} ewrwrewr }} My Result";
Regex regex = new Regex("{{({?}?[^{}])*}}");
int length;
do
{
length = s.Length;
s = regex.Replace(s, "");
} while (s.Length != length);
Console.WriteLine(s);
}
}
你有什么想法:
string test = "This Is {{ dsfdf {{dsfsd}} \n jkhhjk ewrwrewr }} My Result";
Console.WriteLine(Regex.Replace(test, "{{.*}}", String.Empty, RegexOptions.Singleline));
沒有“ Regex”的版本:
string test = "This Is {{ dsfdf {{dsfsd}} \n jkhhjk ewrwrewr }} My Result";
int startIndex = test.IndexOf("{");
int length = test.LastIndexOf("}") - startIndex + 1;
Console.WriteLine(test.Replace(test.Substring(startIndex, length), String.Empty));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.