簡體   English   中英

從字符串中刪除子字符串

[英]Remove Substring from string

我有一個字符串:

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

現在,我想檢索之前發生的字符串(Save ,即我想要Free Chips 。如何實現?

string valueB = valueA.Replace(); 

使用SubstringIndexOf

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

您可以使用正瞻性 正則表達式

.*?(?=\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"
}

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

一種方法是正則表達式(當然,對於這樣一個簡單的字符串可能會有點開銷):

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
}
string valueA = "Free Chips (Save $43 / month)";
string valueB = valueA.Substring(0, valueA.IndexOf(" (Save"));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM