我试图在一个文本块中计算表情符号的频率.例如:
"I love so much " -> [{:3}, {:1}]
Run Code Online (Sandbox Code Playgroud)
为了计算一个文本块中字符的频率,我正在使用
function getFrequency(string) {
var freq = {};
for (var i=0; i<string.length;i++) {
var character = string.charAt(i);
if (freq[character]) {
freq[character]++;
} else {
freq[character] = 1;
}
}
return freq;
};
Run Code Online (Sandbox Code Playgroud)
来源:https://stackoverflow.com/a/18619975/4975358
^上面的代码很好用,但它不识别表情符号字符:
{?: 1, ?: 3, ?: 2}
Run Code Online (Sandbox Code Playgroud)
另外,我更喜欢输出是长度为1的json对象列表,而不是一个长json对象.
例如
!@#123myname --> myname
!@#yourname!@#123 --> yourname!@#123
Run Code Online (Sandbox Code Playgroud)
有很多SO"删除所有字母数字字符的pythonic方法"的例子,但是如果我只想删除导致第一个字母字符的非字母字符,那么最好的方法是什么?
我可以使用while循环,但我正在寻找一个更好的python解决方案