[英]C#: Replace Certain Characters if they are the First Character of the String Using Regex
[英]Replace a character inside a string using C# Regex
我想知道如何用另一個字符替換,
數組括號[]
內的字符,比如.
. 我的字符串表達式如下:
屬性[“412324 - PENNDOT I-95”,“類別”]。值,屬性[“412324 - PENNDOT I-95”,“類別”]。代碼
預期的 output 應該是:
屬性[“412324 - PENNDOT I-95”。 “類別”]. 值,屬性 [“412324 - PENNDOT I-95”。 “類別”].代碼
var regex = new Regex(@"(?<=\[[^\[\]]*),(?=[^\[\]]*\])");
return regex.Replace(<your sample string>, ".");
在正則表達式模式中,在 的左側,
是一個積極的后視零寬度斷言,這意味着必須有一個[
,然后是零個或多個字符,這些字符既不是[
也不是]
導致逗號。
在逗號之后,一個積極的前瞻零寬度斷言,這意味着可以有零個或多個既不是[
也不是]
的字符,那么必須有一個關閉的]
。
零寬度斷言意味着模式必須在匹配文本之前或之后,但不是匹配的一部分。 因為我們只匹配,
所以我們的替換只是.
如果它總是在這個 sheme 中,那么 String.Replace 會更快:
string sin = "Attributes["412324 - PENNDOT I-95", "Category"].Value, Attributes["412324 - PENNDOT I-95", "Category"].Code";
string sout = sin.Replace("\", \"","\". \"");
你可以用 RegEx 做同樣的事情,但它會更慢並且如果輸入字符串改變它的結構它仍然會中斷
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.