選擇部分我有串字符串中的C#
string AccountName= "123456789 - Savings - 20$"
現在我只想選擇ACCOUNTNAME儲蓄。這意味着-s之間的部分。
該數據是動態數據。所以,請你給我一個想法,讓之間的字符串的兩部分之間。即AccountName =「儲蓄」。
預先感謝您.. !!
選擇部分我有串字符串中的C#
string AccountName= "123456789 - Savings - 20$"
現在我只想選擇ACCOUNTNAME儲蓄。這意味着-s之間的部分。
該數據是動態數據。所以,請你給我一個想法,讓之間的字符串的兩部分之間。即AccountName =「儲蓄」。
預先感謝您.. !!
假設你的字符串將總是隻有兩個-s,你可以使用以下來獲取它們之間的子串。如果不是這種情況,請修改問題以更好地描述問題。
string myString = AccountName.Split('-')[1];
檢查在String類的拆分方法的詳細信息了https://msdn.microsoft.com/en-us/library/system.string.split(v=vs.110).aspx。
謝謝。它爲我解決。 – 123456
如何:
string AccountName = "123456789 - Savings - 20$";
String[] tokens = AccountName.Split(new[] { " - " }, StringSplitOptions.RemoveEmptyEntries);
AccountName = tokens.ElementAtOrDefault(1); // Savings
如果有可能,有沒有空格:
String[] tokens = AccountName.Split(new[] { '-' }, StringSplitOptions.RemoveEmptyEntries);
AccountName = tokens.ElementAtOrDefault(1)?.Trim();
使用正則表達式:
AccountName = Regex.Match(AccountName, @"-\s*(.*?)\s*-").Groups[1].Value;
一到,該方法可以:
微調值以刪除空格
VAR AccountNameSplited = AccountName.split( ' - ')[1] .Trim();
你應該防守這一情況:
var AccountNameBt = AccountName.Split('-');
var AccountNameBtPos1 = string.Empty;
if (AccountNameBt != null && AccountNameBt.Count() > 0)
AccountNameBtPos1 =AccountNameBt[1].Trim();
請更加清晰。什麼是預期的輸出? – Steve
我更新了它..請再次查看我的查詢。謝謝 – 123456
你可以使用正則表達式。 ''[Ss] \ S + [Ss]「' –