strip() 函数不会删除尾随数字
strip() function doesn't remove trailing numbers
我尝试了以下代码,但无法使用 python 3.4.3
删除尾随数字
file_name = "48athens22.jpg"
result = file_name.strip("0123456789")
print (result)
输出:
athens22.jpg
出了什么问题?
strip
只删除字符串的开头和结尾。如果您想删除任何出现的子字符串或模式,请尝试 re.sub
。
例如
re.sub('[0-9]', '', file_name)
那些数字没有尾随。他们出现在 '.jpg'
.
之前
file_name = "48athens22.jpg"
name, *extension = file_name.rpartition('.')
result = name.strip("0123456789") + ''.join(extension)
print (result)
没有尾随数字,'g'中你字符串的最后一个字符,22其实在中间,如果分条时不想考虑扩展,就得先拆分file_name 基于 '.'然后剥离第一部分,然后重新加入它们。
代码-
filenames = file_name.split('.')
result = filenames[0].strip('0123456789') + '.' + '.'.join(filenames[1:])
print(result)
strip()
只从字符串的末尾剥离; 22
不在字符串的末尾。
按以下方式操作:
import os
def strip_filename(filename):
root, ext = os.path.splitext(filename)
root = root.strip('0123456789')
return root + ext
print(strip_filename('48athens22.jpg')) # athens.jpg
适合我:
file_name = "48athens22.jpg1234"
result = file_name.strip("0123456789")
print(result)
给出:
athens22.jpg
如果要删除 所有 位数字,请尝试:
import re
file_name = "48athens22.jpg1234"
result = re.sub(r'\d+', "", file_name)
print(result)
给出:
athens.jpg
如果您只想删除“.”之前的数字,请尝试:
result = re.sub(r'\d+\.', ".", file_name)
我尝试了以下代码,但无法使用 python 3.4.3
删除尾随数字file_name = "48athens22.jpg"
result = file_name.strip("0123456789")
print (result)
输出: athens22.jpg
出了什么问题?
strip
只删除字符串的开头和结尾。如果您想删除任何出现的子字符串或模式,请尝试 re.sub
。
例如
re.sub('[0-9]', '', file_name)
那些数字没有尾随。他们出现在 '.jpg'
.
file_name = "48athens22.jpg"
name, *extension = file_name.rpartition('.')
result = name.strip("0123456789") + ''.join(extension)
print (result)
没有尾随数字,'g'中你字符串的最后一个字符,22其实在中间,如果分条时不想考虑扩展,就得先拆分file_name 基于 '.'然后剥离第一部分,然后重新加入它们。
代码-
filenames = file_name.split('.')
result = filenames[0].strip('0123456789') + '.' + '.'.join(filenames[1:])
print(result)
strip()
只从字符串的末尾剥离; 22
不在字符串的末尾。
按以下方式操作:
import os
def strip_filename(filename):
root, ext = os.path.splitext(filename)
root = root.strip('0123456789')
return root + ext
print(strip_filename('48athens22.jpg')) # athens.jpg
适合我:
file_name = "48athens22.jpg1234"
result = file_name.strip("0123456789")
print(result)
给出:
athens22.jpg
如果要删除 所有 位数字,请尝试:
import re
file_name = "48athens22.jpg1234"
result = re.sub(r'\d+', "", file_name)
print(result)
给出:
athens.jpg
如果您只想删除“.”之前的数字,请尝试:
result = re.sub(r'\d+\.', ".", file_name)