如何去除字符串首尾字符?Python代码中换行符与空格的清除方法问询
如何去除字符串首尾的换行符和空格?
你的问题出在split('\n')这里——这个方法是把字符串按换行符分割成列表,并不会修改原字符串,而且也不是用来清除首尾空白的。下面给你几种实用的方法来解决这个问题:
方法1:使用strip()(最推荐)
Python的字符串strip()方法会自动移除字符串首尾的所有空白字符,包括换行符\n、空格、制表符\t这些,用法超简单:
comps = [] for item in items: currency_name = item.text.strip() comps.append({ 'currency_name': currency_name }) print(comps)
这样处理后,你得到的结果就会是干净的{'currency_name': 'Австралійський долар'}这种格式了。
方法2:指定字符的strip()变体
如果你只想移除特定的字符(比如只处理换行和空格,不想碰其他空白),可以给strip()传参:
currency_name = item.text.strip('\n ')
这个写法会只移除首尾的\n和空格,其他空白字符会保留。另外还有lstrip()(只处理左边)和rstrip()(只处理右边),按需使用即可。
方法3:正则表达式(适合复杂场景)
如果需要更灵活的匹配(比如首尾有多种奇怪的空白组合),可以用正则表达式来替换首尾的空白:
import re comps = [] for item in items: currency_name = re.sub(r'^\s+|\s+$', '', item.text) comps.append({ 'currency_name': currency_name }) print(comps)
这里的正则^\s+|\s+$表示匹配开头的一个或多个空白,或者结尾的一个或多个空白,然后替换成空字符串,效果和strip()类似,但能应对更复杂的自定义规则。
内容的提问来源于stack exchange,提问作者makim
相关产品推荐
相关产品推荐

