我试图通过用符号(*)替换一些单词来安全地显示电子邮件数据,但是没有像预期的那样在制作示例脚本时可能会出现错误。
String email = "thismyemail@myhost.com";
String get_text = email.get_text(3, 6);
String hasil = email.replace(get_text,"*");
email_string = (EditText) findViewById(R.id.emailT);
email_string.setText(hasil);
但结果是这样的
thi*email@myhost.com
我期待
thi***email@myhost.com
答案 0 :(得分:3)
String hasil = email.replace(get_text,"***");
但请注意,如果该文字出现在字符串中的任何其他位置,它也会被替换。
此外,如果电子邮件与jf@mymailserver.com
类似,则您无法用*
替换部分用户ID。
因此,您可以找到更好的方法来选择字符,考虑到电子邮件的长度,而不是"替换"文本,而是将这些字符放在你想要的特定位置。
有关如何改进此问题的一些想法,请参阅此相关问题:
答案 1 :(得分:-1)
您的代码似乎正确。如果您的预期输出与上面提到的一样,您可以再添加2个" *"代码。
String hasil = email.replace(get_text,"***");
我希望它有所帮助