我想算一下我列出了多少本书 我有:
books = "book-one book-two book-three ..."
如果我使用
count(books)
无论我的字符串有多长,它只会返回1,因为我猜是因为count分开。
我该如何计算空格上的分隔?
答案 0 :(得分:2)
假设书籍之间用空格隔开,则可以使用fn:tokenize()
函数将字符串分成一系列字符串:
fn:tokenize("book-one book-two book-three", " ")
这将返回一系列书籍:
("book-one", "book-two", "book-three")
fn:tokenize()
函数可以与" "
之类的文字字符串一起使用,也可以采用"\s+"
之类的正则表达式(表示“一个或多个空格字符”)。这样可以进行一些非常复杂的模式匹配。
有关此功能的规范描述,请参见https://www.w3.org/TR/xpath-functions-31/#func-tokenize,有关XPath和XQuery中的正则表达式的更多信息,请参见https://www.w3.org/TR/xpath-functions-31/#string.match。