2017-03-24 255 views
0

子字符串我有一個字符串:刪除字符串

string valueA = "Free Chips (Save $43/month)"; 

現在我想檢索(Save之前出現的字符串,即我要Free Chips。我怎樣才能做到這一點?

string valueB = valueA.Replace(); 

回答

1

使用SubstringIndexOf

string valueB = valueA.Substring(0, valueA.IndexOf("(Save", StringComparison.Ordinal)) 
         .Trim(); 
+0

簡單而完美! –

0

的方法之一是正則表達式(當然對於這樣一個簡單的字符串的它可能是一個小的開銷):

var regex = new Regex("(.*)\(Save"); 
// (.*) - match anything and group it 
// \(Save - match "(Save" literally 
var regexMatch = regex.Match(valueA); 
if (regexMatch.Success) 
{ 
    var valueB = regex.Match(valueA).Groups[1].Value; 
    //and so on 
} 
0
string valueA = "Free Chips (Save $43/month)"; 
string valueB = valueA.Substring(0, valueA.IndexOf(" (Save")); 
1

您可以使用正則表達式p ositive前瞻

.*?(?=\s*\(Save) 

的完整代碼:

using System.Text.RegularExpressions; 

string query = "Free Chips (Save $43/month)"; 

// ... 

Regex r = new Regex(@".*?(?=\s*\(Save)"); 

Match m = r.Match(query); 
if(m.Success) { 
    string result = m.ToString(); // result = "Free Chips" 
} 

m.Successfalse如果"(Save"不是字符串的一部分。