Después de tantos caracteres en una cadena, busque el espacio más cercano y colóquelo en una nueva línea
Frecuentes
Visto 145 veces
1
Estoy tratando de hacer que todo se vea ordenado en un archivo, pero tengo un problema. estoy pidiendo Details
y si tiene más de 27 bytes, entonces necesito encontrar el espacio anterior más cercano y ponerlo en una nueva línea.
(usando python 3.2)
Estoy empezando con esto:
Details = input ("Details: ")
delen = len(Details)
if delen >27:
#Code Here
else:
pass
es posible? Si es así, ¿podrías darme una mano, por favor?
¡Salud
2 Respuestas
1
str.rfind es su amigo.
Details = input ("Details: ")
if len(Details) > 27:
nearest_space = Details.rfind(' ', 0, 27)
first, second = Details[:nearest_space], Details[nearest_space:]
else:
first, second = Details, None
Tenga en cuenta que rfind
generará una excepción si no se encuentra ningún espacio en Details
.
respondido 10 mar '12, 19:03
0
No soy un experto en Python. Probablemente hay algunas formas sofisticadas de hacer esto. Lo mantendría simple y haría:
Detail = input ("Details: ")
line_length = 27
delen = len(Detail)
pos = 0
while pos < delen:
print Detail[pos:pos+line_length]
pos += line_length
respondido 09 mar '12, 14:03
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas python-3.x or haz tu propia pregunta.
Eso parece funcionar muy bien, gracias. El único problema es que la cadena de detalles a veces puede tener hasta 100 caracteres, por lo que deberá dividirse en más de los dos. ¿Hay alguna forma de hacer esto, por favor? - user1244772