給出一個簡單的分隔符分隔的文本數據庫,我想構造一個regexp規則,它返回列/字段條目。regexp規則返回文本數據庫的列條目
給出以下兩個例子行
entry1 = '|123|some|string |101112 |'
entry2 = '|123|some| |101112 |'
我希望得到以下的輸出:
values1 = '123', 'some', 'string', '101112'
values2 = '123', 'some', '', '101112'
到目前爲止我用以下regexp
和regexprep
組合:
values = regexp(regexprep(entry '[\s]', ''), '\|', 'split')
,不幸返回以下內容:
values1 = '' '123' 'some' 'string' '101112' ''
values2 = '' '123' 'some' '' '101112' ''
,但我想(沒有額外''
前123
,而不是額外的''
後'101112'
):
values1 = '123', 'some', 'string', '101112'
values2 = '123', 'some', '', '101112'
給我的正則表達式規則
,爲什麼我拿到''
開頭和結束?我如何改變我的正則表達式規則,只返回字段值?
謝謝!與'regexp'相比,'strread'的表現如何?我必須解析數千行......我已經對我的原始文章進行了編輯,希望能夠解釋我想要的內容。但是,是的,你的解決方案有效除了如果一個字段爲空(參見'entry2'),你的代碼將返回'0'而不是'[]' – memyself
對不起,我不知道性能,你應該嘗試... – Oli