[英]Is there a regex to mask middle areas of a dynamic alphanumeric string?
我試圖掩蓋一些機密信息,這些信息可以是 ex 的任何字母數字字符串。
示例 1
遮蔽前 - PMGKJGFWB125 遮蔽后 - PMG******125
示例 2
屏蔽前 - 19000 屏蔽后 - 1**00
我在 C# 中嘗試這樣的事情
Regex.Replace(s, @"\\d(?!\\d{0,3}$)", "*")
字符串的長度可能會有所不同,因此我們無法添加硬編碼的偏移量。
我能得到一些幫助嗎?
提前致謝
看起來,粗略地說,你想把你的繩子分成四等分,然后把中間的兩個四等分星
不要太技術了。。
var str = "PMGKJGFWB125".ToCharArray();
for(int x = str.Length/4; x < str.Length*3/4; x++)
str[x] = '*';
return new string(str);
您可以為不同長度的字符串調整 4,例如,如果您的字符串為 6 或更少,則可以使用 3 而不是 4 ......等
如果你想要它作為 LINQ,對於“那是什么?!” 笑:
(int f, int t) = (str.Length/4, str.Length*3/4);
return string.Concat(str.Select((c,i)=>f<i&&i<t?'*':c)));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.