簡體   English   中英

正則表達式獲取字符串的前6個和后4個字符

[英]Regex to get first 6 and last 4 characters of a string

我想用正則表達式,而不是與string.replace()來獲得一個字符串的第6個字節和最后4個字符相同的字符串,並用另一個字符替代它: &例如。 該字符串始終為16個字符。 我正在做一些研究,但我以前從未使用過regex。 謝謝

如果您更喜歡使用正則表達式,則可以使用以下內容。 . 將匹配換行符以外的任何字符,因此您可以指定{n}精確匹配n次,並使用字符串錨點的開頭/結尾。

String r = Regex.Replace("123456foobar7890", @"^.{6}|.{4}$", 
                m => new string('&', m.ToString().Length));

Console.WriteLine(r); //=> "&&&&&&foobar&&&&"

如果要反轉邏輯,請替換字符串的中間部分,可以使用Positive Lookbehind

String r = Regex.Replace("123456foobar7890", @"(?<=^.{6}).{6}",
                m => new string('&', m.ToString().Length));

Console.WriteLine(r); //=> "123456&&&&&&7890"

暫無
暫無

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

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