Trong chuỗi ruby, làm thế nào tôi có thể chèn một dấu cách vào mỗi số ký tự X?Ruby: Chèn dấu cách mỗi số ký tự X
Ví dụ: tôi muốn chèn khoảng trắng 8 ký tự của một chuỗi nhất định.
Trong chuỗi ruby, làm thế nào tôi có thể chèn một dấu cách vào mỗi số ký tự X?Ruby: Chèn dấu cách mỗi số ký tự X
Ví dụ: tôi muốn chèn khoảng trắng 8 ký tự của một chuỗi nhất định.
>> s = "1234567812345678123456781234567812345678"
=> "1234567812345678123456781234567812345678"
>> s.gsub(/(.{8})/, '\1 ')
=> "12345678 12345678 12345678 12345678 12345678 "
Edit: Bạn có thể sử dụng lookahead tích cực để tránh thêm một không gian thêm ở cuối:
>> s.gsub(/(.{8})(?=.)/, '\1 \2')
=> "12345678 12345678 12345678 12345678 12345678"
giải pháp thay thế:
s.scan(/.{1,8}/).join(' ')
String#scan
ý đoạn nó lên cho bạn (vào khoảng 8 ký tự - ngoại trừ đoạn cuối cùng, có thể ngắn hơn), và sau đó Array#join
sẽ đoàn tụ các khối dữ liệu th nhân vật thích hợp xen kẽ.
bản sao có thể có của [Làm cách nào để tạo khoảng trắng giữa mỗi bốn số nguyên trong Ruby?] (Http://stackoverflow.com/questions/3053328/how-do-i-create-spaces-between-every-four-integers -in-ruby) –