2017-08-29 200 views
0
string test = "Account.Parameters[\"AccountNumber\"].Caption"; 
string new = test.Trim("["); 

我想輸出"AccoutNumber"。 我曾嘗試下面的代碼,但沒有得到期望的結果:在c中讀取方括號後拆分字符串#

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

回答

1

只要使用Split有兩個分隔符:

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

你可以做一個拆分該字符串...

string test = "Account.Parameters[\"AccountNumber\"].Caption"; 
string output = test.Split('[', ']')[1]; 
Console.WriteLine(output); 
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); 
} 

.*?是一個非貪婪wildcart捕獲,所以直到它到達下一個部分將匹配您的字符串(在我們的情況下,它會停在.Parameters[",匹配的字符串,然後在"]

它將匹配.Parameters [「...」]。,並提取「...」部分。