回答
可以使用String::gsub
用正则表达式:
=> 'abcdefghijkl'.gsub(/.{4}(?=.)/, '\0 ')
'abcd efgh ijkl'
这可能是最快的,Garrett的更容易阅读,只是因为所需的正则表达式更简单。 – 2010-06-16 13:15:31
循环遍历每个数字,如果循环索引mod 4 = 0,则放置一个空格。
class String
def in_groups_of(n, sep=' ')
chars.each_slice(n).map(&:join).join(sep)
end
end
423523420987.to_s.in_groups_of(4) # => '4235 2342 0987'
423523420987.to_s.in_groups_of(5, '-') # => '42352-34209-87'
如果你万一找填零,你有小于12或大于12个的数字,这将有助于你出:
irb(main):002:0> 423523420987.to_s.scan(/\d{4}/).join(' ')
=> "4235 2342 0987"
irb(main):008:0> ('%d' % 423523420987).scan(/\d{4}/).join(' ')
=> "4235 2342 0987"
Mark Byers'可能是最快的,在我看来这是最漂亮的。 – 2010-06-16 13:13:54
在编辑之后,关于“填充零”的位不再适用。 – 2010-06-16 21:53:50
要扩大@Mark Byer的a nswer和@glenn mcdonald的评论,如果你的字符串/数字的长度不是4的倍数,你想要做什么?
'1234567890'.gsub(/.{4}(?=.)/, '\0 ')
# => "1234 5678 90"
'1234567890'.reverse.gsub(/.{4}(?=.)/, '\0 ').reverse
# => "12 3456 7890"
- 1. 如何在Python脚本中的段落之间创建空格?
- 2. 如何在Java中的一行之间创建空格?
- 3. RecyclerView在每个项目之间创建大空间
- 4. 如何在位于`{`和`}`之间的行中添加四个空格?
- 5. 如何在此输出中的每四个字符之间放置一个空格?
- 6. 如何在数组中的每个单词之间打印空格
- 7. 用空格jquery替换每个第四个输入值之后?
- 8. Polyglot,XHTML5,dl,dt,dd如何在条目之间创建空格?
- 9. 在Android中,如何在LinearLayout子项之间创建空间?
- 10. 复选框之间创建空格
- 11. 如何调整CSS中每个<br>两行之间的空间量?
- 12. 如何每个连续的字符之间插入空格
- 13. 连字符之间的每个整数
- 14. 在html div中创建正方形之间的空格?
- 15. 四个字节中的四个整数?
- 16. 如何在python中的每个字节之后添加空格
- 17. 如何在字符串中的每个字符之间插入空格?
- 18. 在书面行之间创建空间
- 19. 通过在Shiny Plots之间创建空格来格式化
- 20. Ruby XML Builder,如何创建这个命名空间?
- 21. 如何在reStructuredText中创建一个不间断的空间?
- 22. 如何使用UCanAccess在两个表格之间创建关系?
- 23. 如何在单个表格之间创建关系?
- 24. 如何在Ruby中创建一个整型for循环?
- 25. LinearLayoutManager创建卡片之间的空间
- 26. 如何在导航栏之间创建空间?
- 27. 如何在按钮之间创建空间?
- 28. 如何在它们之间创建空间?
- 29. 如何在sb.append中创建空格?
- 30. 如何在C++中随机数生成的应用程序中的数字之间创建空格?
你的号码是否保证平均分成4组?如果不是,你是否想要<4组在开始(12 3456 7890)或结束(1234 5678 90)? – 2010-06-16 13:37:33