java過濾表情字元
『壹』 java過濾特殊字元的問題
"+"在URL中會被當作空格處理。
必須使用URLEncoder將其變成URL編碼。
或者使用 javascript 的 encodeURIComponent(url) 函數對URL進行編碼轉換。
『貳』 java替換表情符號 求正則表達式替換
查找正則表達式
\[(微笑|撇嘴|色|發呆)\]
替換為
<img src='.../imag/$1.png'/>
Pattern.compile("\\[(微笑|撇嘴|色|發呆)\\]").matcher(text).replaceAll("<img src='.../imag/$1.png'/>")
注意replaceAll中 不知道有沒有字元是 Java中需要轉義的字元,如果有加上轉義。
『叄』 java正則表達式過濾特殊字元
Stringregexp="[^'"%]*";
Stringstring="abc%";
System.out.println(string.matches(regexp));
『肆』 java如何判斷字元串中含有表情符號
比如你需要有一組表情符號的字典:
類似String bq={"^V^","D:"};
要判斷的字元串為str="^V^D:1221dsa";
然後用str.indexOf(bq[i]) 去遍歷字典表
如果返回值是大於等於0的 那麼就含有該表情符號
『伍』 檢測文本中是否有emoji字元以及過濾
<span style="font-family: Arial, Helvetica, sans-serif;">過濾該表情</span>
[java] view plain
public static String filterEmoji(String source) {
if (!containsEmoji(source)) {
return source;// 如果不包含,直接返回
}
StringBuilder buf = null;
int len = source.length();
for (int i = 0; i < len; i++) {
char codePoint = source.charAt(i);
if (!isEmojiCharacter(codePoint)) {
if (buf == null) {
buf = new StringBuilder(source.length());
}
buf.append(codePoint);
} else {
}
}
if (buf == null) {
return "";
} else {
if (buf.length() == len) {// 這里的意義在於盡可能少的toString,因為會重新生成字元串
buf = null;
return source;
} else {
return buf.toString();
}
}
}
[java] view plain
// 判別是否包含Emoji表情
private static boolean containsEmoji(String str) {
int len = str.length();
for (int i = 0; i < len; i++) {
if (isEmojiCharacter(str.charAt(i))) {
return true;
}
}
return false;
}
private static boolean isEmojiCharacter(char codePoint) {
return !((codePoint == 0x0) ||
(codePoint == 0x9) ||
(codePoint == 0xA) ||
(codePoint == 0xD) ||
((codePoint >= 0x20) && (codePoint <= 0xD7FF)) ||
((codePoint >= 0xE000) && (codePoint <= 0xFFFD)) ||
((codePoint >= 0x10000) && (codePoint <= 0x10FFFF)));
}
『陸』 JAVA特殊字元過濾方法
^public static String StringFilter(String str) throws PatternSyntaxException {
// 只允許字母和數字源
// String regEx = "[^a-zA-Z0-9]";
// 清除掉所有特殊字元
String regEx="[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】『;:」「』。,、?]";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(str);
return m.replaceAll("").trim();
}
『柒』 JAVA中如何過濾字元串裡面特殊字元
class test
{
public static void main(String []args)
{
String a = "1111-22-33 13:15:46",b=new String();
int i,j,t;
for(i=0;i<a.length();i++)
if(a.charAt(i)!='-' && a.charAt(i)!=':' && a.charAt(i)!=' ')
b=b+a.charAt(i);
System.out.println(b);
}
}
『捌』 java字元串如何替換表情字元
動態來的話要自用到正則
Pattern pattern = Pattern.compile(":([0-9]+):");
String replaceStr ="<img src='/img/#.jpg'/>";
String msg =":0::1::2:";
Matcher matcher = pattern.matcher(msg);
int i=0;
String tmp;
while(matcher.find()){
System.out.println(matcher.group(1));//逐個替換
tmp=replaceStr.replace("#", matcher.group(1));
msg = matcher.replaceFirst(tmp);
matcher = pattern.matcher(msg);
}
System.out.println(msg);
『玖』 java替換表情符號 求正則表達式替換,js中又是怎麼寫的了
protected void asyncExec (Runnable runnable) {
if (runnable == null) {
//TEMPORARY CODE
if (!IS_CARBON) {
display.wake ();
return;
}
}
addLast (new RunnableLock (runnable));