使用Ruby 2.4,如何计算字符串中Unicode字母的实例数?我在尝试:
2.4.0 :009 > string = "a"
=> "a"
2.4.0 :010 > string.count('\p{L}')
=> 0
但它显示0,它应该返回1.
我想使用上面的表达式而不是“a-z”,因为“a-z”不会涵盖重音e的内容。
答案 0 :(得分:0)
您可以尝试使用String#scan
,传递\p{L}
正则表达式,然后链接count
方法:
string = "aá"
p string.scan(/\p{L}/).count
# 2
答案 1 :(得分:0)
这是一种不会创建临时数组的方法。
str = "Même temps l'année prochaine."
str.size - str.gsub(/[[:alpha:]]/, '').size
#=> 24
POSIX括号表达式[[:alpha:]]
与\p{Alpha}
(又名\p{L}
)相同。
注意
str.gsub(/[[:alpha:]]/, '')
#=> " ' ."