Given
<foo>
<bar baz="Hello, World!">
</foo>
开发者_如何学GoHow do I all but the last 4 characters of @baz? One of my attempts was:
/foo/bar/@baz[substring( ., 0, -4 )]
Use:
substring(/foo/bar/@baz, string-length(/foo/bar/@baz)-3)
Do note the 3
in the expression.
The following is wrong:
substring(/foo/bar/@baz, string-length(/foo/bar/@baz)-4)
because this returns the last 5 characters of the string value of the baz
attribute.
try this:
substring-before(/foo/bar/@baz,"rld!")
That's actually not so bad, but IIRC substring doesn't like negative indices. I tried
substring(/foo/bar/@baz, string-length(/foo/bar/@baz)-4)
Which gave me the expected result.
精彩评论