gpt4 book ai didi

Javascript - 在字符串中屏蔽帐号

转载 作者:搜寻专家 更新时间:2023-10-31 23:40:47 26 4
gpt4 key购买 nike

我有一个有趣的挑战,我在这里找不到答案。我有一串文本,可能可能包含一个帐号。示例:

"Hi, my account number is 1234 5678 9012 2345 and I'm great."

帐号可以有多种形式,因为它是由用户输入的:

下面的基本和潜在可能性:

1234 1234 1234 1234
1234 1234 1234 1234 1
BE12 1234 1234 1234

1234-1234-1234-1234
1234.1234.1234.1234
1234123412341234
12341234 1234 1234

1234-1234-1234-1234-1
1234.1234.1234.1234.1
12341234123412341
12341 234 1234 12341

BE12-1234-1234-1234
be12-1234-1234 1234
Be12.1234.1234-1234
BE12123412341234

(基本上是中间带有连字符、空格或点的整数,IBAN 格式除外,它的开头有两个字符)

我需要的输出是除最后四位数字之外的所有内容。

"Hi, my account number is **** **** **** 2345 and I'm great."

我认为我应该如何解决这个问题:

  • 分析每个字符串并尝试找到上述帐号。模式
  • 创建一个神奇的正则表达式来替换帐号。他们是我需要的方式
  • 如果有帐号,请使用此 RegEx。

您的方法是什么?

谢谢!

最佳答案

您可以将以上所有内容与:

\b[\dX][-. \dX]+(\d{4})\b

... 并将其替换为 * x strlen(match) - 4 + \1,参见 a demo on regex101.com .


JavaScript 中:

var string = "Hi, my account number is 1234 5678 9012 2345 and I'm great.";
var new_string = string.replace(/\b[\dX][-. \dX]+(\d{4})\b/g, function(match, capture) {
return Array(match.length-4).join("*") + capture;
});
print(new_string);

参见 a demo on ideone.com .

关于Javascript - 在字符串中屏蔽帐号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42939152/

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