Java Regex用于屏蔽字母数字字符串并显示最后4位数字

时间:2015-10-08 17:55:51

标签: java regex string masking

我有一个类似于以下任何内容的输入字符串:

  • Z43524429
  • 46D92S429
  • 3488DFJ33

基本上字符串可以包含字母字符或数字。但它不能包含符号,只包含字母和数字。我想掩饰它,看起来像这样:

  • ***** 4429
  • ***** S429
  • ***** FJ33

我到处寻找一个使用正则表达式来屏蔽它的java代码示例。我在堆栈上找到this post但是假设输入纯粹是一个数字。

我将正则表达式调整为/\w(?=\w{4})/g以包含字符。它似乎有效here。但是当我尝试在java中实现它时它不起作用。这是我的java代码中的一行:

String mask = accountNumber.replace("\\w(?=\\w{4})", "*");

掩码最终与accountNumber相同。显然正则表达式不起作用。有什么想法吗?

2 个答案:

答案 0 :(得分:5)

您正在使用replace,它不使用正则表达式。

尝试replaceAll

答案 1 :(得分:1)

替换

上使用全部替换
const HeaderTitle = (props) => {

  return <Text
        style={{
          width    : "80%",
          position : "absolute",
          top      : 0,
        }}
        numberOfLines={2}
        {...props}>
          {props.children}
        </Text>
}

navigationOptions : ({ screenProps: { t } }) => ({
  headerTitle : () => <HeaderTitle>This is a very very long headertitle, that you can choose to break into multiple lines by changing numberOfLines property</HeaderTitle>,
}),