我有一个包含电话号码的多行字符串。如何使用XSLT从字符串中提取第一个电话号码。我的绳子看起来像
This is a line This is another line - 012 345 678 This is another line - 097 654 321 This is another line
我需要提取“012 345 678”。非常感谢。
wgxvkvu91#
如果XSLT处理器支持regex(换句话说,如果它支持XSLT 2.0或更高版本),则可以使用以下表达式:
replace($theString, '.*?(\d{3} \d{3} \d{3}).*', '$1', 's')
提取与@@@ @@@ @@@模式匹配的第一个子字符串,在示例中为012 345 678。但你需要注意的是,对于一个字符串:
@@@ @@@ @@@
012 345 678
This is a line This is another line - 9012 345 6789 This is another line - 097 654 321 This is another line
结果也将是012 345 678。如果您知道哪些字符可能出现在电话号码之前和之后,则应将它们添加到正则表达式模式中。
1条答案
按热度按时间wgxvkvu91#
如果XSLT处理器支持regex(换句话说,如果它支持XSLT 2.0或更高版本),则可以使用以下表达式:
提取与
@@@ @@@ @@@
模式匹配的第一个子字符串,在示例中为012 345 678
。但你需要注意的是,对于一个字符串:
结果也将是
012 345 678
。如果您知道哪些字符可能出现在电话号码之前和之后,则应将它们添加到正则表达式模式中。