[英]Remove all white spaces inside specific delimiters
我正在嘗試處理包含格式錯誤的元素的xml文件。
錯誤形成的元素是不遵守以下模式的元素: <name attribute1=value1 attribute2=value2 ... attributeN=valueN>
可以有0到n個屬性。
結果, <my element number>
無效,而<my element=number>
無效。
這是我的文字樣本:
<product_name>
A high wind in Jamaica <The innocent voyage> The modern library of the world s best books Books Richard Arthur Warren Hughes
</product_name>
在這里, <product_name>
是一個很好的元素,而<The innocent voyage>
不是。
當發現不正確的元素時,我希望將<>
替換為中性字符,例如+
。
由於包含這些標簽的文件很大(1.5 GB),所以我寧願不使用蠻力方法。
你們會看到一種快速(如果可能的話,優雅)的方法來解決這個問題嗎?
如您所言,您寧願遠離regex
,我也能夠創建以下不使用regex
代碼(盡管我確信regex
會非常有用)
def valid_tag(tag):
temp = tag.split()
for word in temp[1:]:
if "=" not in word:
return False
return True
在這里,您將標簽作為字符串作為參數傳遞。 例如: "<hello test=test>"
您可以對每個標簽運行此測試,方法是創建另一種獲取標簽的方法,方法是先找到一個"<"
,然后是第一個">"
,然后從該字符串中創建子字符串,該子字符串將成為您傳遞給此方法的標簽。
注意:這假定您的標簽是這樣寫的: <hello test=test>
而不是< hello test = test >
該方法仍然非常原始,並且如我上面所述做了一些假設,但希望它將為您提供所需的開始。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.