我想确定我的vector的哪些元素包含表情符号:
x = c('', 'no', '', '', 'no', '', '?', '??')
x
# [1] "\U0001f602" "no" "\U0001f379" "\U0001f600" "no" "\U0001f61b" "?" "??"
Run Code Online (Sandbox Code Playgroud)
相关帖子只涵盖其他语言,因为大部分都是指专业图书馆,我无法想出一种翻译成R的方法:
第二个看起来很有希望,但唉(不是通过提供固定perl = TRUE):
x[grepl('[\u{1F600}-\u{1F6FF}]', x)]
Run Code Online (Sandbox Code Playgroud)
错误:无效\ u {xxxx}序列(第1行)
类似的问题来自其他问题.我们怎样才能匹配R中的表情符号?
我正在从推特上发送推文并希望在网页上显示它们,但是我只看到像和等字符的盒子,而不是表情符号.我如何将这些显示为像Twitter这样的图像,或者如果不可能,将它们全部删除?
我试过了:
item["text"] = item["text"].replace('', "");
Run Code Online (Sandbox Code Playgroud)
但它正在抛出js错误.
我想检查一封信是否是表情符号.我发现了一些类似的问题并发现了这个正则表达式:
private final String emo_regex = "([\\u20a0-\\u32ff\\ud83c\\udc00-\\ud83d\\udeff\\udbb9\\udce5-\\udbb9\\udcee])";
Run Code Online (Sandbox Code Playgroud)
但是,当我在以下句子中执行以下操作时:
for (int k=0; k<letters.length;k++) {
if (letters[k].matches(emo_regex)) {
emoticon.add(letters[k]);
}
}
Run Code Online (Sandbox Code Playgroud)
它不会添加任何表情符号的任何字母.我也试过用a Matcher和a Pattern,但那也没用.正则表达式有什么问题,或者我在代码中遗漏了哪些东西?
这就是我收到这封信的方式:
sentence = "Jij staat op 10 "
String[] letters = sentence.split("");
Run Code Online (Sandbox Code Playgroud)
应该识别并添加最后一个 emoticon
我正在使用以下函数替换字符串中的表情符号并且效果很好:
function doEmoji(s){
var ranges = [
'\ud83c[\udf00-\udfff]', // U+1F300 to U+1F3FF
'\ud83d[\udc00-\ude4f]', // U+1F400 to U+1F64F
'\ud83d[\ude80-\udeff]' // U+1F680 to U+1F6FF
];
var x = s.toString(16).replace(new RegExp(ranges.join('|'), 'g'),' whatever ');
return x;
};
Run Code Online (Sandbox Code Playgroud)
现在我想检查该字符串是否仅包含表情符号或空格字符。我之所以要这样做是因为我只想在不存在其他字符(空格除外)的情况下才替换表情符号。
一些例子:
Hello how are you? //do nothing
?? // replace emojis
?? // replace emojis
Run Code Online (Sandbox Code Playgroud)
我正在寻找一个简单的解决方案,也许是一个正则表达式。谢谢
我试图用java替换阿拉伯语推文中的表情符号.
我用过这段代码:
String line = "???? ????? ??? ???????? ????? ??? ??? ?? ??? ???? ";
Pattern unicodeOutliers = Pattern.compile("([\u1F601-\u1F64F])", Pattern.UNICODE_CASE | Pattern.CANON_EQ | Pattern.CASE_INSENSITIVE);
Matcher unicodeOutlierMatcher = unicodeOutliers.matcher(line);
line = unicodeOutlierMatcher.replaceAll(" $1 ");
Run Code Online (Sandbox Code Playgroud)
但它并没有取代它们.即使我只匹配字符本身"\ u1F602",它也不会替换它.可能是因为它是你之后的5位数?!我不确定,只是一个猜测.
注意:
1-推特结束时的情绪()是"U + 1F602",即"面对欢乐的泪水"
2-这个问题不是重复的问题.
有任何想法吗?
我正在尝试编写一个Java代码,其中包含包含表情符号的utf8字符串,我想用文本替换该表情符号。例如:
我有这段文字:???? ?????? ?????? ?????? ???????
我希望它像这样:grinningFace ???? ???? ?????? ?????? ?????? ???????
我尝试了这个:
String string = "";
try {
byte[] utf8Bytes = string.getBytes("UTF-8");
string = new String(utf8Bytes, "UTF-8");
} catch (
UnsupportedEncodingException e
) {
e.printStackTrace();
}
string=string.replaceAll("[\u1F600]", "grinningF");
//also tried "\u1F600" and "u1F600"
System.out.println(string);
Run Code Online (Sandbox Code Playgroud)
但这没用,怎么办?
我想从我的字符串中删除所有不可打印的字符+所有表情符号。
我尝试了一下,但是对于Emoji来说无法正常工作:
public static String removeAllNoAsciiChars(String str) {
if (!TextUtils.isEmpty(str)) {
str = str.replaceAll("\\p{C}", "");
}
return str;
}
Run Code Online (Sandbox Code Playgroud)
例子:
“ L'alphabet estgénial!”
预期的最终结果是:“ L'alphabet estgénial!”
“Ça'stducœur?? :)!”
预期的最终结果是:“Çaestestcour” :)!