You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用XSLT从邮箱地址中提取名字首字母加完整姓氏字符串

XSLT 从邮箱提取名字首字母+完整姓氏实现方案

核心实现代码

你可以直接使用以下表达式替换原有代码,无需提前截取长度,内置函数会自动适配不同长度的邮箱字符:

<xsl:value-of select="concat(
    substring(substring-before(substring-before(ws:Additional_Information/ws:User_Name_Of_Employee/text(), '@'), '.'), 1, 1),
    substring-after(substring-before(ws:Additional_Information/ws:User_Name_Of_Employee/text(), '@'), '.')
)" />

逻辑拆解

  • 先通过 substring-before(邮箱地址, '@') 提取邮箱@符号前的用户名部分,示例输入会得到 eman.ahmed
  • 取用户名第一段(点分隔前的名字部分)的第一个字符:substring(substring-before(用户名, '.'), 1, 1),示例中得到 e
  • 取用户名第二段(点分隔后的姓氏部分):substring-after(用户名, '.'),示例中得到 ahmed
  • 最后通过 concat() 函数拼接两部分,得到最终结果 eahmed

多段用户名适配

如果你的邮箱用户名存在多个点分隔的情况(如eman.ali.ahmed@domain.com),需要取最后一段作为姓氏,XSLT 2.0及以上版本可以使用以下写法:

<xsl:value-of select="concat(
    substring(tokenize(substring-before(ws:Additional_Information/ws:User_Name_Of_Employee/text(), '@'), '\.')[1], 1, 1),
    tokenize(substring-before(ws:Additional_Information/ws:User_Name_Of_Employee/text(), '@'), '\.')[last()]
)" />

内容的提问来源于stack exchange,提问作者Eman Ahmed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 04:24:03