起点客户端上允许用户对作品进行评论,为了防止用户恶意评论,发表不当内容,需要对用户发布的内容进行过滤,请写程序过滤用户发布内容中带有的QQ号(6~10位数字组成) 允许对内容严格操作,如用户发表了 作者大大666666,为你点赞 ,经过过滤后也可以为作者大大,为你点赞 ,将666666过滤掉了。
起点客户端上允许用户对作品进行评论,为了防止用户恶意评论,发表不当内容,需要对用户发布的内容进行过滤,请写程序过滤用户发布内容中带有的QQ号(6~10位数字组成) 允许对内容严格操作,如用户发表了 作者大大666666,为你点赞 ,经过过滤后也可以为作者大大,为你点赞 ,将666666过滤掉了。
"作者大大666666666,为你点赞"
"作者大大,为你点赞"
QQ号显然是不能以0开头的,请注意
go语言,用正则表达式
package main import "regexp" var re = regexp.MustCompile(`[1-9]\d{5,9}`) /** * 过滤内容中出现的QQ号 * @param content string字符串 待过滤内容 * @return string字符串 */ func filterContent(content string) string { // write code here return re.ReplaceAllString(content, "") }
没有控制多个qq号重复情况public static String filterContent (String content) { // write code here StringBuilder str = new StringBuilder(); String c = content; for(int i = 0;i<content.length();i++){ if(Character.isDigit(content.charAt(i))){ if(str.length() ==0&& Integer.valueOf(content.substring(i,i+1))==0){ continue; } str.append(content.substring(i,i+1)); if(i == content.length()-1){ if(str.length()<=10&&str.length()>=6){ c = c.replace(new String(str),""); } } }else{ if(str.length()<=10&&str.length()>=6){ c = c.replace(new String(str),""); } str.delete(0,str.length()); } } return c; }