string - 如何将中间字符串替换为 Dart 中的其他字符?
问题描述
final email = 'abcdefghij@email.com';
final phoneNumber = '0123456789';
此电子邮件字符串转换为此模式,如
Fox Example
电子邮件 -> ab****j@email.com 电话号码
-> (012)3****89
请帮助使用RegExp,欢迎使用 0ther 技术。
解决方案
您可以使用replaceRange方法
final email = 'abcdefghij@email.com';
final phoneNumber = '0123456789';
final hiderPlaceholder = "****";
final censuredEmail = email.replaceRange(2, email.indexOf("@")-1, hiderPlaceholder);
final censuredPhoneNumber = "(" + phoneNumber.substring(0, 3) + ")" + phoneNumber.substring(3).replaceRange(1, phoneNumber.substring(3).length-2, hiderPlaceholder);
print (censuredEmail);
print (censuredPhoneNumber);
或者你可以选择常青子串
final email = 'abcdefghij@email.com';
final phoneNumber = '0123456789';
final hiderPlaceholder = "****";
final censuredEmail = email.substring(0, 2) + hiderPlaceholder + email.substring(email.indexOf("@")-1);
final censuredPhoneNumber = "(" + phoneNumber.substring(0, 3) + ")" + phoneNumber.substring(3, 4) + hiderPlaceholder + phoneNumber.substring(phoneNumber.length-2);
print (censuredEmail);
print (censuredPhoneNumber);
Ps 显然,添加您想要的所有控件,例如电子邮件/电话号码的长度
推荐阅读
- python - 如何使 python 模块记录器与任何主记录器一起工作?
- sql - Liquibase的where标签中的两个条件
- javascript - How to fix sorting issue date in datatables column?
- c++ - 检查 std::filesystem::path 是否在目录中
- python-3.x - 它在 DF1 中而不在 DF 中,但仅匹配特定列
- python - 如何在python中全局定义一个列表
- python - 使用 Python ibm_db 包将时间戳更新为 DB2 中的当前时间戳
- python - 如何获取 Pandas Dataframe 的最后一行?
- algorithm - 如果我们在创建 Huffman Tree 时不一致会发生什么?
- android - 为什么 androidx.lifecycle.ViewModelProviders 在“android.arch.lifecycle:extensions”而不是“android.arch.lifecycle:viewmodel”?