In principe vraag ik de gebruiker een tekenreeks in de console in te voeren, maar de tekenreeks is erg lang en bevat veel regeleinden. Hoe zou ik de tekenreeks van de gebruiker kunnen nemen en alle regeleinden verwijderen om er een enkele regel tekst van te maken. Mijn methode voor het verkrijgen van de string is heel eenvoudig.
string = raw_input("Please enter string: ")
Is er een andere manier waarop ik de string van de gebruiker zou moeten krijgen? Ik gebruik Python 2.7.4 op een Mac.
P.S. Ik'ben duidelijk een noob, dus zelfs als een oplossing'niet de meest efficiënte is, zou degene die de meest eenvoudige syntaxis gebruikt op prijs worden gesteld.
Hoe voer je regeleinden in met raw_input
? Maar, als je eenmaal een string hebt met een aantal tekens erin die je kwijt wilt, kun je ze gewoon vervangen
.
>>> mystr = raw_input('please enter string: ')
please enter string: hello world, how do i enter line breaks?
>>> # pressing enter didn't work...
...
>>> mystr
'hello world, how do i enter line breaks?'
>>> mystr.replace(' ', '')
'helloworld,howdoienterlinebreaks?'
>>>
In het voorbeeld hierboven, heb ik alle spaties vervangen. De tekenreeks '\n'
staat voor nieuwe regels. En ``vertegenwoordigt carriage returns (als je windows gebruikt, krijg je deze misschien en een tweede
replace` zal ze voor je verwerken).
in principe:
# you probably want to use a space ' ' to replace `\n`
mystring = mystring.replace('\n', ' ').replace('\r', '')
Merk ook op, dat het een slecht idee is om je variabele string
te noemen, omdat dit de module string
schaduwt. Een andere naam die ik'zou vermijden, maar soms graag zou gebruiken: file
. Om dezelfde reden.
Je kunt proberen string replace te gebruiken:
string = string.replace('\r', '').replace('\n', '')