[英]Remove string strats from a word until char
我有以下字符串:
customer.Id as CustomerID, case when customer.Name...
我想刪除as CustomerID
從我的字符串,即與作為開頭和結尾的所有句子,
。 我怎樣才能做到這一點。 我和Linq一起去了,但不幸的是似乎沒有用:
select(c => c.TakeWhile(ch => ch!= 'As').SkipWhile(c=>c != ','))
如您在TakeWhile
中TakeWhile
我可以使用char not word。 如何使用SubString
或Linq
或Regex做到這一點?
盡管此實現遠非完美或最簡潔,但至少可以作為一個示例,說明如何在不使用Regex的情況下完成此操作,而是使用一些帶有少量Linq的標准String API。
var queryText = "customer.Id as CustomerID, case when customer.Name...";
var columns = queryText.Split(',');
var columnsWithoutAliases =
from c in columns
let indexOfAs = c.LastIndexOf(" as ")
select indexOfAs < 0 ? c : c.Substring(0, indexOfAs);
var queryTextWithAliases = string.Join(",", columnsWithoutAliases);
string sql = "customer.Id as CustomerID, case when customer.Name...";
string sql2 = Regex.Replace(sql, @"\Was.+?(?=,)", "");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.