繁体   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