日期:2014-05-20  浏览次数:20772 次

关于关键字输出的问题 就比如***
我定义了一字符串数组ss,有N个字符串。

当数组ss 遇到 字符串a b c 时,把a b c 输出,就好像百度某人,怎么也百度不到,被屏蔽了。



要是输出单个字符串,我会,代码如下。 关键是关键字多了,我就不懂怎么实现了。
Java code

public class Keywords {
  public static void main(String[] args){
    String s[] ={"操","嗷","啊"};
    String input = "操";
    for(String ss:s){
      if(ss.equalsIgnoreCase(input)){
          System.out.println("有keywords:"+input);
      }
    }
  }  
}



------解决方案--------------------
字数少的可以用正则啊
------解决方案--------------------
楼上说的很对,用正在表达式很好的!
------解决方案--------------------
关键字多了, 不也是循环吗?
------解决方案--------------------
不知道LZ想要什么样的结果
for example
Java code

String ss[] ={"操","嗷","啊"};
String input = "操NDY嗷嗷神马啊";
for (String s : ss) {
    if (input.contains(s)) {
        System.out.println("有keywords:"+s);
        input = input.replaceAll(s, "***");
    }
}
System.out.println(input);

------解决方案--------------------
可以用substring截取输入语句,然后将关键词放入容器,再匹配关键字
------解决方案--------------------
输出的用***替换关键字行不,不知道lz是这个需求不
------解决方案--------------------
用正则表达式处理。
------解决方案--------------------
关键字多了?
楼主要用到很多关键字么?
不懂楼主说的什么意思,具体想表达什么
------解决方案--------------------
探讨

不知道LZ想要什么样的结果
for example
Java code

String ss[] ={"操","嗷","啊"};
String input = "操NDY嗷嗷神马啊";
for (String s : ss) {
if (input.contains(s)) {
System.out.println("有keywords:"+s);
……