sentence = 'this is a book.pdf'
sentence.replace( 'pdf' or 'PDF' ,'csv' )
sentence.replace('pdf','csv',re.IGNORECASE)
在条件下我如何替换字符
- 指定,如Pdf或Pdf
- 或忽略所有案例
看起来好像要截断找到的任何文件扩展名并添加.csv
。我建议使用w{1,5}
(一到五个单词的字符(而不是w+
(一个或多个(,因为我经常在自己的文件Blob中使用名为an12n512n5125.1125n125n125
的文件。
匹配字符串($(末尾一个或多个字母数字字符后的句点,并替换为.csv。区分大小写不再重要:
import re
sentence = 'this is a book.pdf'
ext2 = 'csv'
sentence = re.sub(rf'.w+$', f'.{ext2}', sentence)
切片字符串的末尾,小写将其与.pdf进行比较,并将.pdf替换为.csv。使用字符串插值(f"(进行自定义扩展
sentence = 'this is a book.pdf'
ext1 = 'pdf'
ext2 = 'csv'
sentence = sentence[:-4]+f'.{ext2}' if sentence[-4:].lower()==f'.{ext1}' else sentence
使用带有$的regex来匹配带有re.IGNORECASE的字符串结尾。使用字符串插值进行自定义扩展
import re
sentence = 'this is a book.pdf'
ext1 = 'pdf'
ext2 = 'csv'
sentence = re.sub(rf'.{ext1}$', f'.{ext2}', sentence, flags=re.IGNORECASE)
如果您对多种类型的文件执行此操作,则可以找到句点(.(的索引,删除其后的所有内容,并将文件扩展名添加到末尾
sentence = sentence - sentence[sentence.index(".")+1:]
sentence += "csv"
我假设您正在对字符串执行此操作
sentence = sentence.lower()
更好的是,在没有更多上下文的情况下,只在sentence.lower()
中使用下一个句子可能会很难说出。