我有一個字符串。如何刪除特定字符後的所有文本? (在這種情況下...
)
意志...
變化後的文本,所以我這就是爲什麼我想要的某一個後刪除所有字符。如何刪除python中特定字符後的所有字符?
回答
拆分最多一次,並採取第一塊:
sep = '...'
rest = text.split(sep, 1)[0]
你沒有說如果分隔符不存在會發生什麼。在這種情況下,這個和Alex的解決方案都會返回整個字符串。
請求是「刪除分隔符後面的所有文本」,而不是「獲取」該文本,因此我認爲您需要[0],而不是[-1],在您的其他優秀解決方案中。 – 2009-05-24 22:09:15
沒有一個RE(我以爲是你想要的):
def remafterellipsis(text):
where_ellipsis = text.find('...')
if where_ellipsis == -1:
return text
return text[:where_ellipsis + 3]
,或者用RE:您分離
import re
def remwithre(text, there=re.compile(re.escape('...')+'.*')):
return there.sub('', text)
可能希望使用sep ='...'作爲kwarg,並使用len(sep)而不是對3進行硬編碼,使其稍微適合未來。 – cdleary 2009-05-24 22:49:56
是的,但你需要在每次調用時重新編譯RE,所以性能會受到RE解決方案的影響(對於非RE解決方案沒有真正的區別)。一些普遍性是免費的,有些不是... ;-) – 2009-05-24 22:56:04
@Alex - 感謝您測試解決方案! – 2009-05-24 23:09:49
假設您的分隔符是'...',但它可以是任何字符串。
text = 'some string... this part will be removed.'
head, sep, tail = text.partition('...')
>>> print head
some string
如果沒有找到的分隔符,head
將包含所有原始字符串。
在Python 2.5中添加了分區函數。
分區(...) S.partition(SEP) - >(頭,九月,尾)
Searches for the separator sep in S, and returns the part before it, the separator itself, and the part after it. If the separator is not found, returns S and two empty strings.
重新使用另一種簡單的方法將是
import re, clr
text = 'some string... this part will be removed.'
text= re.search(r'(\A.*)\.\.\..+',url,re.DOTALL|re.IGNORECASE).group(1)
// text = some string
如果你想刪除一個字符串中最後一次出現分隔符後的所有內容,我覺得這個效果很好:
<separator>.join(string_to_split.split(<separator>)[:-1])
例如,如果string_to_split
就像root/location/child/too_far.exe
的路徑,你只需要在文件夾路徑,您可以通過"/".join(string_to_split.split("/")[:-1])
分割,你會得到 root/location/child
- 1. 如何刪除所有在樹枝中的特定字符後?
- 2. 刪除Python中字符串中特定子字符串前後的字符
- 3. 刪除最後一次出現特定字符後的所有字符
- 4. 記事本++如何刪除字符串後的所有字符
- 5. 如何刪除陣列數據中特定字符前的所有字符
- 6. 如何從字符串中刪除特定字符的所有實例
- 7. 從R中的字符串中刪除所有特殊字符?
- 8. 從Bash中的字符串中刪除所有特殊字符
- 9. 刪除MySQL中所有特殊字符
- 10. Tcl刪除字符串後的所有字符而不刪除字符串
- 11. 刪除除一些特殊字符以外的所有字符
- 12. Excel中 - 一個特定的字符後的字符刪除
- 13. 刪除特定序列後的所有字符
- 14. PHP刪除所有空格後的特定字符
- 15. 刪除特定字符後的所有內容
- 16. 特定發生後刪除字符串中的字符
- 17. 在Autohotkey中刪除特定字符後的字符
- 18. 如何從字符串中刪除所有字母字符?
- 19. 如何從字符串中刪除特定位置的字符?
- 20. 如何刪除字符串中的特定字符串?
- 21. 如何刪除特殊字符在python
- 22. 如何從java中的字符串中刪除所有特殊字符?
- 23. 如何刪除特定字符或符號後的內容
- 24. 如何刪除指定字符後的所有內容
- 25. 如何從Java中的特定字符串中刪除特定字符?
- 26. 刪除特定字符後的字符串的其餘部分
- 27. 從Python字符串中的特定位置刪除特定字符
- 28. 如何刪除所有的字符串
- 29. 刪除除特定字符串序列以外的所有字符
- 30. 刪除python中的反斜槓後的所有字符?
如果你不知道,這是有道理的,然後更新您的問題以提供您想要執行的具體示例。 – 2009-05-24 22:07:55