我仍然接受正则表达式的条款,并希望制定一个表达式,让我可以计算字符串开头连续辅音的数量。例如。 'Cherry'
将返回2
,'hello'
1
, 'schlepp'
4
等。由于数字不是预先确定的(尽管英语可能对初始辅音有一定的上限),我需要一些灵活的表达方式,但我对如何编写它有点困惑。任何指针都会受到欢迎!如何计算Ruby中字符串开头的连续辅音?
回答
东西沿着这条线将工作:
>> 'Cherry'.downcase.split(/([aeiou].*)/).first.length
# => 2
>> 'hello'.downcase.split(/([aeiou].*)/).first.length
# => 1
>> 'schlepp'.downcase.split(/([aeiou].*)/).first.length
# => 4
很酷,比KS。为什么在.length之前,这里使用第一种方法? – user211309
'split'将返回2个字符串的数组。我们只需要第一个字符串的“长度”。如果答案对您有帮助,请接受并点赞。谢谢:) – Sajin
如果字符串以字母之外的其他字母开头会怎样? –
另一种方式是从第一个元音替换,直到没有任何字符串的结尾然后采取长度:
'Cherry'.gsub(/[aeiou].*$/,"").length
如果字符串不是以字母开头怎么办?例如,“1.做晚餐预订”。 –
@CarySwoveland:当然,它不会工作(作为其他答案),但这些案件尚未被OP明确要求。 – Toto
OP只说对象是一个字符串,那么为什么不写这个方法,使它可以工作,而不管它是否以字母开头? –
没有必要使用正则表达式。
CONSONANTS = (('a'..'z').to_a - 'aeiou'.chars).join
#=> "bcdfghjklmnpqrstvwxyz"
def consecutive_constants(str)
e, a = str.each_char.chunk { |c| CONSONANTS.include?(c.downcase) }.first
e ? a.size : 0
end
consecutive_constants("THIS is nuts") #=> 2
consecutive_constants("Is this ever cool?") #=> 0
consecutive_constants("1. this is wrong") #=> 0
注
enum = "THIS is nuts".each_char.chunk { |c| CONSONANTS.include?(c.downcase) }
#=> #<Enumerator: #<Enumerator::Generator:0x000000010e1a40>:each>
我们可以看到,将通过此枚举生成的元素运用Enumerable#entries(或Enumerable#to_a):
enum.entries
#=> [[true, ["T", "H"]], [false, ["I"]], [true, ["S"]], [false, [" ", "i"]],
# [true, ["s"]], [false, [" "]], [true, ["n"]], [false, ["u"]], [true, ["t", "s"]]]
继续,
e, a = enum.first
#=> [true, ["T", "H"]]
e #=> true
a #=> ["T", "H"]
a.size
#=> 2
- 1. 如何计算Perl中字符串开头处的空格量?
- 2. python - 如何计算csv连续两个字符串的频率
- 3. 计算连续字符子字符串的长度MIPS
- 4. 计算字符串中的元音
- 5. 计算字符串中的元音
- 6. 计算连续的字符出现
- 7. 字符串中的计数辅音数量
- 8. 如何计算包含重音符号的字符串中的元音?
- 9. 如何将字符串追加到列表中的辅音中?
- 10. f如何计算字符串中的元音#
- 11. 计算Levenshtein许多连续字符串之间的距离
- 12. 如何计算Ruby中的字符串宽度?
- 13. 如何计算O(n)中后续子字符串中的匹配字符数
- 14. 算法,吐出最小和最大的子字符串,以元音开始,并以字母串辅音结尾
- 15. 一个字符串中的元音和辅音的Objective-C计数数量
- 16. 如何清除字符串中连续的非字母字符?
- 17. 在字符串中的第一个元音之前计数辅音
- 18. 我如何计算字符串中有多少辅音字母至今我有此
- 19. 如何匹配以较长字符串中的'H'开头的10个字符的子字符串与Ruby?
- 20. 从字符串中连续重复计数字符数
- 21. 如何计算我们的字符串有多少元音?
- 22. Ruby:删除字符串开头的空白字符
- 23. 如何打印字符串的开头?
- 24. 我如何计算一个单词中辅音的数量? python
- 25. 计算字符串中的字符
- 26. 计算字符串中的字符数
- 27. python - 计算字符串失败的连续字母集合的程序
- 28. 只有当字符串以连续3个数字开头的字符串时才匹配第一个数字
- 29. 如何计算字符串中的字母字符?
- 30. 如何计算Perl中UTF-8字符串中的字符数?
'“1. Cherry cobler。”[r] .length#=> 0',因为它应该。 –