在XSLT中从字符串中删除结束字母字符

在XSLT中从字符串中删除结束字母字符,xslt,Xslt,我有一个与XSLT相关的需求 我想删除最终输出字符串中的结束字母。 以下是一个例子: 输入字符串:0123467AAA 产出:0123467 i、 没有尽头的阿尔卑斯山 我是xslt创建新手,任何建议都对我很有帮助。 提前感谢大家。使用XSLT1.0,您唯一的实际选择是编写递归模板。编写一个以字符串作为参数的命名模板。测试最后一个字符是否为字母。您可以使用子字符串$s、字符串长度$s-1、1查找最后一个字符,并可以通过测试translate$s、'ABCD..XYZ',=,来测试它是否为字母。如

我有一个与XSLT相关的需求

我想删除最终输出字符串中的结束字母。 以下是一个例子: 输入字符串:0123467AAA 产出:0123467

i、 没有尽头的阿尔卑斯山

我是xslt创建新手,任何建议都对我很有帮助。
提前感谢大家。

使用XSLT1.0,您唯一的实际选择是编写递归模板。编写一个以字符串作为参数的命名模板。测试最后一个字符是否为字母。您可以使用子字符串$s、字符串长度$s-1、1查找最后一个字符,并可以通过测试translate$s、'ABCD..XYZ',=,来测试它是否为字母。如果最后一个字符是字母,则通过使用子字符串,对模板进行递归调用,将减去最后一个字符的整个字符串再次传递为参数值。否则,返回字符串。如果字符串长度为零,请确保递归终止。

XSLT 1.0或2.0+?在2.0或更高版本中,使用正则表达式是很简单的,但在1.0中则相当复杂。你能编辑这个问题来显示你到目前为止尝试过的任何代码吗?嗨,Lan,它是1.0,我到现在为止还没有尝试过任何代码,因为我不知道与你给出的示例相关的任何想法,它足以从输入字符串中删除所有字母字符,这是一个简单的应用程序。这足够了吗?或者你有需要保留非尾随字母字符的情况吗?嗨,兰,谢谢你的回复,但是翻译函数如何从简单的sting替换alpha?我们会这样给出吗?翻译“$value”,“ABCDEFGHIJKLMNOPQRSTUVWXYZ”,我们放置为空?好的,因此,第三条评论中我的问题的答案是否定的。问题中的示例除了结尾之外没有任何字母字符,这就是我要求澄清的原因。您可以使用子字符串$s,字符串长度$s-1,1 no来查找最后一个字符,它将查找最后一个字符之前的字符。要查找最后一个字符,只需使用:子字符串$s,字符串长度$s。