gpt4 book ai didi

c# - 正则表达式替换排除第一个和第 n 个字符

转载 作者:行者123 更新时间:2023-12-03 02:22:24 25 4
gpt4 key购买 nike

我正在尝试使用 *(星号)屏蔽 string 名称,并排除第一个和第 n(第 5)个字符。

示例:

UserFirstName -> U****F*******

我设法用 (?!^) 排除第一个字符。:

var regex = new Regex("(?!^).");
var result = regex.Replace(stringUserName, "*");

输出:

UserFirstName -> U************

我怎样才能排除第五个位置的字符?

最佳答案

您可以使用

(?!^)(?<!^.{4}).

请参阅regex demo

图案详细信息

  • (?!^) - (它等于 (?<!^) 您可以使用的后视)一个负前视,使字符串开头的位置失败
  • (?<!^.{4}) - 如果紧邻当前位置的左侧有除字符串开头的换行符之外的任何四个字符,则匹配失败的负向后查找
  • . - 除换行符之外的任何单个字符。

C# demo :

string text = "UserFirstName";
int SkipIndex = 5;
string pattern = $@"(?!^)(?<!^.{{{SkipIndex-1}}}).";
Console.WriteLine(Regex.Replace(text, pattern, "*"));

输出:U***F********

关于c# - 正则表达式替换排除第一个和第 n 个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58990328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com