我有幾個要回圈并標記化的字串
ImagesCarrier FreeCatalog #AvailabilitySize / PriceQty240-B-001MG/CF240-B-002/CF240-B-010/CF240-B-500/CFWith CarrierCatalog #AvailabilitySize / PriceQty240-B-002240-B-010Request a Quote
到目前為止我使用的所有字串拆分方法都給我一個不太正確的輸出。例如:
import re
s = "ImagesCarrier FreeCatalog #AvailabilitySize / PriceQty240-B-001MG/CF240-B-002/CF240-B-010/CF240-B-500/CFWith CarrierCatalog #AvailabilitySize / PriceQty240-B-002240-B-010Request a Quote"
# printing original String
print("The original string is : " str(s))
# using sub() to solve the problem, lambda used tp add spaces
res = re.sub("[A-Za-z] ", lambda ele: " " ele[0] " ", s)
# printing result
print("The space added string : " str(res))
The original string is : ImagesCarrier FreeCatalog #AvailabilitySize / PriceQty240-B-001MG/CF240-B-002/CF240-B-010/CF240-B-500/CFWith CarrierCatalog #AvailabilitySize / PriceQty240-B-002240-B-010Request a Quote
The space added string : ImagesCarrier FreeCatalog # AvailabilitySize / PriceQty 240- B -001 MG / CF 240- B -002/ CF 240- B -010/ CF 240- B -500/ CFWith CarrierCatalog # AvailabilitySize / PriceQty 240- B -002240- B -010 Request a Quote
但是正如您所看到的,仍然遺漏了一些詞,例如 PriceQty、AvailabilitySize、ImagesCarrier FreeCatalog 等。是否有更好的方法來執行此操作,或者我可以指定一個關鍵字串列,該串列將遍歷所有字符并在匹配時拆分?理想情況下,我想以這樣的方式結束:
Images Carrier Free Catalog # Availability Size / Price Qty 240-B-001MG/CF 240-B-002/CF 240-B-010/CF 240-B-500/CF With Carrier Catalog # Availability Size / Price Qty 240-B-002 240-B-010 Request a Quote
uj5u.com熱心網友回復:
您可以使用環視:
re.sub(r'(?<=\S)(?=[A-Z][a-z])|(?<=[A-Za-z])(?=\d)', ' ', s)
演示:https ://replit.com/@blhsing/DownrightTwinTelephones
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/534449.html
