簡體   English   中英

如何使用C#修剪正則表達式中的空白

[英]How to trim white space within Regex using c#

我有一個字符串,正在使用RegEx將字符串替換為特定模式。 基本上我想修剪命名組中的空白

例如:

myString1: substringof('test',Name)
myString2: substringof(' test ',Name)
myString3: substringof('test ',Name)

Expected output: Name.Contains(\"test\")

myString4: substringof(' test test ',Name)
myString5: substringof(' test test',Name)
myString6: substringof('test test ',Name)  

Expected output: Name.Contains(\"test test\")

碼:

var replaceRegex = new Regex(substringof\\(\\s*'(?<text>[^']+'?[^']*)'\\s*,\\s*(?<pname>[\\w\\[\\]]+)\\s*\\)");
myString = replaceRegex.Replace(myString, "${pname}.Contains(\"${text}\")");

任何幫助將不勝感激。 提前致謝!!

使用string.Trim ,但是如果您堅持使用正則表達式:

[^\s.*](?<pname>\w.*)[^\s.*]

那不是空間,而是一個可以用空格分隔的“單詞”,而不是空間。

避免正則表達式的另一種有趣方法,並且如果要在單詞之間修剪空格,可以使用字符串拆分和連接:

var text = " name name "; // sample
var result = string.Join(" ", text.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries));

暫無
暫無

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

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