-1

我正在尝试从 XHTML 文档中提取一些名称——

现在我已经弄清楚如何在一段 XQuery 代码中提取所有这些名称——

例如 -

<div class="names">
    <b>Names</b>
    <a href="http://name1.com">A B.C D</a>
    <a href="http://name1.com">E F G</a>
    <a href="http://name1.com">H I</a>
</div>

我想提取名字/中间名/姓氏,我了解如何使用一些字符串函数——我首先想知道的是,在上面的一个名字中出现空格的次数,以及位置空间的第一次和最后一次出现。我该怎么做呢?

4

1 回答 1

0

众多解决方案之一:

let $doc :=
  <div class="names">
    <b>Names</b>
    <a href="http://name1.com">A B.C D</a>
    <a href="http://name1.com">E F G</a>
    <a href="http://name1.com">H I</a>
  </div>
for $a in $doc//a
return
  let $text := $a/text()
  let $spaces := index-of(string-to-codepoints($a), 32)
  return <result text="{ $text }" spaces="{ count($spaces) }"
    first="{ $spaces[1] }" last="{ $spaces[last()] }"/>

但是,使用正则表达式可能比使用字符位置更容易。

于 2012-09-04T15:39:44.850 回答