Android笔记:前端判断敏感词汇

举报
程思扬 发表于 2022/01/13 22:54:44 2022/01/13
【摘要】 敏感词汇通常会在后台进行判断,但偶尔也会有在前端进行判断,其实很简单,就是对一个字符串中特定字符的替换。 布局代码: <?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk...

敏感词汇通常会在后台进行判断,但偶尔也会有在前端进行判断,其实很简单,就是对一个字符串中特定字符的替换。

布局代码:


  
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. xmlns:tools="http://schemas.android.com/tools"
  4. android:id="@+id/activity_main"
  5. android:layout_width="match_parent"
  6. android:layout_height="match_parent"
  7. android:paddingBottom="@dimen/activity_vertical_margin"
  8. android:paddingLeft="@dimen/activity_horizontal_margin"
  9. android:paddingRight="@dimen/activity_horizontal_margin"
  10. android:paddingTop="@dimen/activity_vertical_margin"
  11. tools:context="visahall.cn.xiaoxin.MainActivity">
  12. <Button
  13. android:id="@+id/btn"
  14. android:text="点击确定把EditText中的字显示在TextView"
  15. android:layout_width="match_parent"
  16. android:layout_height="wrap_content"
  17. android:layout_alignParentTop="true"
  18. android:layout_alignParentStart="true" />
  19. <TextView
  20. android:id="@+id/text"
  21. android:layout_width="wrap_content"
  22. android:layout_height="wrap_content"
  23. android:text="Hello World!"
  24. android:layout_below="@+id/btn"
  25. android:layout_centerHorizontal="true"
  26. android:layout_marginTop="196dp" />
  27. <EditText
  28. android:id="@+id/edit"
  29. android:hint="敏感字为 美国, 西班牙, 德玛西亚"
  30. android:layout_width="match_parent"
  31. android:layout_height="wrap_content"
  32. android:layout_below="@+id/btn"
  33. android:layout_alignParentStart="true" />
  34. </RelativeLayout>

MainActivity:


  
  1. public class MainActivity extends AppCompatActivity {
  2. private Button button;
  3. private EditText editText;
  4. private TextView textView;
  5. private List<String> list = new ArrayList<>();
  6. @Override
  7. protected void onCreate(Bundle savedInstanceState) {
  8. super.onCreate(savedInstanceState);
  9. setContentView(R.layout.activity_main);
  10. init();
  11. button.setOnClickListener(new View.OnClickListener() {
  12. @Override
  13. public void onClick(View v) {
  14. String aa = String.valueOf(editText.getText());
  15. for (int i = 0; i < list.size(); i++) {
  16. String x = list.get(i); //x为敏感词汇
  17. if (aa.contains(x)){
  18. aa = aa.replaceAll(x, getXing(x));
  19. }
  20. }
  21. textView.setText(aa);
  22. }
  23. });
  24. }
  25. private void init() {
  26. button = (Button) findViewById(R.id.btn);
  27. editText = (EditText) findViewById(R.id.edit);
  28. textView = (TextView) findViewById(R.id.text);
  29. list.add("国家级");
  30. list.add("第一");
  31. list.add("史上");
  32. list.add("垃圾");
  33. }
  34. //得到"*"的数量,然后进行替换相应的字符串
  35. private String getXing(String f){
  36. String a = "";
  37. for (int i = 0; i < f.length(); i++) {
  38. a = a + "*";
  39. }
  40. return a;
  41. }
  42. }

 

文章来源: chengsy.blog.csdn.net,作者:程思扬,版权归原作者所有,如需转载,请联系作者。

原文链接:chengsy.blog.csdn.net/article/details/82759161

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。