[英]Regex Replace Matches All instead of single
我正在嘗試了解正則表達式替換方法。 我寫了一個函數,它應該在第一個大寫字母之前插入一個空格,該大寫字母前面沒有大寫字母。
var tmpDisplay = Regex.Replace(name, "([^A-Z ])([A-Z])", "$1 $2");
當我運行它時,它將替換所有未加上大寫字母的大寫字母。
我檢查了MSDN,它似乎沒有提到正則表達式替換字符串上的act全局而不是僅匹配第一種情況。
我怎樣才能替換單個值? 任何人都可以提供有關此問題的文檔嗎?
靜態Regex.Replace
方法沒有max occurrence參數,但類實例具有:
var rx = new Regex(@"([^A-Z ])([A-Z])");
Console.WriteLine(rx.Replace("NamePeteParker", "$1 $2", 1)); // Replace just once
^^
請參閱IDEONE演示
來自MSDN :
Regex.Replace Method (String, MatchEvaluator, Int32)
在指定的輸入字符串中,將匹配正則表達式模式的指定最大字符串數替換為MatchEvaluator委托返回的字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.