gpt4 book ai didi

java - 替换字符串的所有字母减去 Java 中的第一个和最后一个

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:28:49 26 4
gpt4 key购买 nike

我有一个字符串,例如这个:

stackoverflow

我想在 Java (Android) 中获得以下输出:

s***********w

所以我们保留第一个和最后一个字母,但其他字母被这个符号“*”代替。我希望字符串的长度从输入到输出是相同的。

这是我现在拥有的功能的代码。

String transform_username(String username)
{
// Get the length of the username
int username_length = username.length();

String first_letter = username.substring(0, 1);
String last_letter = username.substring(username_length - 1);

String new_string = "";

return new_string;
}

我能得到第一个和最后一个字母,但我真的不知道如何把“*”放在单词的中间。我知道我可以遍历它,但这显然不是一个好的解决方案。

最佳答案

在一行正则表达式中,您可以:

String str = "stackoverflow";
String repl = str.replaceAll("\\B\\w\\B", "*");
//=> s***********w

RegEx Demo

\B 是零宽度断言,它匹配 \b 不匹配的位置。这意味着它匹配除第一个和最后一个字母之外的所有字母。

关于java - 替换字符串的所有字母减去 Java 中的第一个和最后一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30714525/

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