2017-03-17 58 views
1

我需要一個XQuery來刪除任何不是{AZ,az,_,0-9}的字符 - 在查詢中明確指定它們。XQuery - 刪除所有不是{AZ,az,_,0-9}的字符(非法)

目前我使用:

for $x in /xml/TEST 
let $i := concat('M', replace($x/ID, '[\[\]\(\)°: ]', '')) 
return element {$i} {$x/* except $x/ID} 

但每當一個新的非法字符小兵我需要調整命令......這樣:不完美的。

任何想法?

謝謝!

回答

6

在正則表達式,你可以通過在字符前加一個脫^使用否定的字符類被否定,會做你想要什麼:

replace($x/ID, '[^A-Za-z_0-9]', '')) 
相關問題