在c#中读取方括号后拆分一个字符串

时间:2017-08-29 05:13:35

标签: c#

string test = "Account.Parameters[\"AccountNumber\"].Caption";
string new = test.Trim("[");

我想要输出"AccoutNumber"。 我尝试了下面的代码但没有得到所需的结果:

string[] test = "Transaction.Parameters[\"ExpOtherX\"].Caption".Split('[');
string newvalue = test[1];

3 个答案:

答案 0 :(得分:1)

只需使用Split和两个分隔符:

string[] test = "Transaction.Parameters[\"ExpOtherX\"].Caption".Split('[', ']');
string newvalue = test[1];

答案 1 :(得分:1)

您也可以使用正则表达式:

string test = "Account.Parameters[\"AccountNumber\"].Caption";
var match = System.Text.RegularExpressions.Regex.Match(test, ".*?\\.Parameters\\[\"(.*?)\"]");
if (match.Success)
{
    Console.WriteLine(match.Groups[1].Value);
}

.*?是非贪婪的野猫捕获,所以它会匹配你的字符串,直到它到达下一部分(在我们的例子中,它将停在.Parameters[",匹配字符串,然后在{ {1}})

它将匹配 .Parameters [“...”]。,并提取“...”部分。

答案 2 :(得分:0)

你可以拆分成那个字符串......

string test = "Account.Parameters[\"AccountNumber\"].Caption";
string output = test.Split('[', ']')[1];
Console.WriteLine(output);