Im использует это для удаления пробелов и специальных символов и преобразования символов в нижний регистр:
''.join(e for e in artistName if e.isalnum()).lower()
• Я хочу заменить пробелы: '-'
• если строка начинается со слова: '' remove ''
так: музыка битлов!
будет: beatles-music
любая помощь очень ценится
спасибо J
artistName = artistName.replace(' ', '-').lower()
if artistName.startswith('the-'):
artistName = artistName[4:]
artistName = ''.join(e for e in artistName if e.isalnum() or e == '-')
Похоже, вы хотите сделать машинный читаемый слизень. Использование библиотеки для этой функции избавит вас от многих головных болей. python-slugify делает то, что вы просите, и кучу других вещей, о которых вы, возможно, даже не думали.
Это лучше всего сделать с помощью набора регулярных выражений, чтобы вы могли легко добавить к нему со временем.
Не уверен в синтаксисе python, но если бы это был perl, вы бы сделали что-то вроде:
s/^The //g; #remove leading "The "
s/\s/-/g; #replace whitespaces with dashes
Похоже, что у python есть небольшое небольшое руководство для регулярных выражений: http://docs.python.org/howto/regex.html
...startswith('the-')
будет лучше; художника можно назвать теодором ;-)