En una cadena de rubíes, ¿cómo puedo insertar un espacio cada X número de caracteres?Ruby: inserte espacios cada X número de caracteres
Como ejemplo, me gustaría insertar un espacio cada 8 caracteres de una cadena dada.
En una cadena de rubíes, ¿cómo puedo insertar un espacio cada X número de caracteres?Ruby: inserte espacios cada X número de caracteres
Como ejemplo, me gustaría insertar un espacio cada 8 caracteres de una cadena dada.
>> s = "1234567812345678123456781234567812345678"
=> "1234567812345678123456781234567812345678"
>> s.gsub(/(.{8})/, '\1 ')
=> "12345678 12345678 12345678 12345678 12345678 "
Editar: Usted podría utilizar búsqueda positiva hacia delante para evitar añadir un espacio adicional al final:
>> s.gsub(/(.{8})(?=.)/, '\1 \2')
=> "12345678 12345678 12345678 12345678 12345678"
Solución alternativa:
s.scan(/.{1,8}/).join(' ')
String#scan
voluntad trozo arriba para usted (en tramos de 8 caracteres, a excepción del último trozo, que puede ser más corto), y luego Array#join
reunirá los trozos con el personaje apropiado intercalado.
posible duplicado de [¿Cómo creo espacios entre cada cuatro enteros en Ruby?] (Http://stackoverflow.com/questions/3053328/how-do-i-create-spaces-between-every-four-integers -en-ruby) –