使用XQuery 1.0將字符串(可以說是100個字符長)拆分爲一系列字符串,每個字符長度爲10個字符是否可能?XQuery 1.0 - n個字符後的拆分字符串
另一個詞語,我需要每10個字符之後拆分串,使用XQuery 1.0
使用XQuery 1.0將字符串(可以說是100個字符長)拆分爲一系列字符串,每個字符長度爲10個字符是否可能?XQuery 1.0 - n個字符後的拆分字符串
另一個詞語,我需要每10個字符之後拆分串,使用XQuery 1.0
不確定;這裏是一個辦法:
let $width := 10
let $string := '...'
for $i in 0 to string-length($string) idiv $width
let $pos := $i * $width + 1
return substring($string, $pos, $width)
希望這有助於 基督教
最明顯的方式,想到的是
for $i in 0 to string-length($input)+9 idiv 10
return substring($input, $i*10+1, 10)
讓你理清不可避免的off-by-一個錯誤...
以下是使用遞歸函數的可能解決方案:
declare function local:split($str,$start,$len){
let $res := substring($str,$start,$len)
return if ($res) then ($res,local:split($str,$start + $len, $len)) else $res
};
let $x := "sdlfksldfkjsldfkfjsldkjflskfd"
return local:split($x,1,10)
有了一個遞歸函數,你可以這樣做:
declare function local:splitString($String as xs:string?, $length as xs:integer) as xs:string* {
if (exists($String) and string-length($String) > $length) then
(substring($String,1,$length), local:splitString(substring($String,$length),$length))
else $String
};