過濾表情獲取過濾後的字元長度(通過正則表示式)
阿新 • • 發佈:2019-01-09
import java.util.regex.Pattern;
/**
* Created by Basil on 2017/5/10 13:00
*/
public class GetInputContentLengh {
//加入白名單
public static final String rex = "(\\[呵呵\\])|(\\[其他表情\\])";
public int getLengh(String input){
int count = 0;
//去除空格
input = input.trim().replace(" " , "");
Pattern pattern = Pattern.compile(rex);
String[] result = pattern.split(input);
Matcher matcher = pattern.matcher(input);
//表情字元出現的次數
int faceCount= 0;
while(matcher.find()){
//迴圈輸出所有的表情符號
String faceContent=matcher.group(0);
System.out.println("第" +faceCount+"個表情是"+faceContent);
//每匹配到一個表情則計數器加1
faceCount++;
}
for (int i = 0; i < result.length; i++) {
count = count + result[i].length();
}
Integer length= count+faceCount;
//把表情計算成1個字元時輸入的長度
System.out.println("長度:" + length);
return length;
}
}