用户名字串简化问题

cnhxjt 2003-12-12 01:45:11
我想将用户名字符串"CN=段平/OU=国有一处/O=yjjcert;CN=张平/OU=国有一处/O=yjjcert"
快速简化成"段平/国有一处/yjjcert,张平/国有一处/yjjcert"
有什么好方法,最好用LS实现
...全文
32 8 打赏 收藏 举报
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
rosemerry 2003-12-17
倒,把Help帮助都搬来了-_-|||
  • 打赏
  • 举报
回复
chenybin 2003-12-16
在LS里面用公式
这样痕方便,而且比LS 快多了

就用◎Name吧
  • 打赏
  • 举报
回复
gjd111686 2003-12-16
在脚本中实现可以用Evalueate
  • 打赏
  • 举报
回复
gjd111686 2003-12-16
样例:@Name

1. 假设用户正在查看一个文档,AUTHOR 域中包含有 Mary Tsen 的层次结构名。则以下的样例将返回 Mary Tsen/Illustration/ Documentation/Development/R&D/ WorkSavers/US。
@Name([Abbreviate];AUTHOR)
2. 以下的样例将返回 Mary Tsen。
@Name([Canonicalize];"Mary Tsen")
因为名字后面没有斜杠,是非层次结构名,所以没有层次结构名的其他部分。
3. 如果是当前用户标识符的话,则以下样例将返回 CN=MaryTsen/ OU=Illustration/OU=Documentation/OU=Development/OU=R&D/O=Acme/C=US。因为当前用户标识符的层次结构附加在名称中,所以不用在通讯录中进行查找。
@Name([Canonicalize];"Mary Tsen/")
4. 如果文档中的域 AUTHOR 包含 CN=Mary Tsen/OU=Illustration/O=Acme,则以下样例将以信息对话框的格式返回 Mary Tsen。
@Prompt([OK]; "Common Name"; @Name([CN]; AUTHOR))
5. 以下样例将返回 Development。
@Name([OU2];AUTHOR)
6. 以下的样例将返回 US\Acme\R&D\Development\Documentation\Illustration。斜杠变成了反斜杠,这样,名称的组件便可以用做视图中的一个子分类。不返回公共名。
@Name([ToKeyword];AUTHOR)
7. 如果 User_Name 域中包含以下格式为 RFC 822 的 Internet 地址“Streitfeld, Sara (Miami)”<SStreitfeld@gazette.com>,则该样例返回 SStreitfeld。
@Name([LP];User_Name)
8. 如果域 User_Name 包含格式为 RFC 822 的 Internet 地址“Streitfeld, Sara (Miami)”<SStreitfeld@gazette.com>,则该样例返回“Streitfeld, Sara (Miami)”。
@Name([Phrase];User_Name)
9. 如果域 User_Name 包含格式为 RFC 822 的 Internet 地址“Streitfeld, Sara (Miami)”<SStreitfeld@gazette.com>,则该样例返回“SStreitfeld@gazette.com”。
@Name([Address821];User_Name)
10. 如果域 User_Name 包含 John Doe/Cam/Lotus,则该样例返回 Cam/Lotus。
@Name([HierarchyOnly];User_Name)
  • 打赏
  • 举报
回复
gjd111686 2003-12-16
@Name

样例
用来对层次名进行操作。可以将规范格式的名称进行缩写,将缩写名称扩展为规范格式,在名称中找到某个部分,掉转各部分的顺序以便用层次名对视图进行分类。
语法
@Name( [ action ] ; name )
参数
[ action ]
指出要对名称采取的操作,是否要对其进行扩展、缩写等等(请参阅下面列出的可能的操作)。
name
文本或名称。在表单中输入的用户或服务器名称。Notes/Domino 确认全部的层次名称然后返回需要的部分。
用 @Name,可以对层次名称执行以下操作:
[A]
返回 ADMD 部件(行政管理域名)。
[Abbreviate]
缩写层次名,并删除部件标签。此项操作在显示时保留空格,以达到更好的视觉效果。
[Address821] (必须明确大小写)R5 新增。
无论原始地址是 RFC 821 还是 RFC 822 形式,均按 RFC 821 地址格式语法格式返回一个 Internet 地址。
[C]
返回层次名称的国家部分。
[Canonicalize]
扩展一个缩写的名称,加上缺少的部分,并加上各自的标签。缺少的部分将从当前用户标识符中,而不是从通讯录中补充。
[CN]
返回名称的公共名部分。
[G]
返回名字部分。
[HierarchyOnly] R5 新增。
舍去层次名称中的 CN 部分,返回其余部分。
[I]
返回初始部分。
[LP] R5 新增。
返回基于 RFC 822 地址格式语法的标准 Internet 地址的 LocalPart 部分。
[O]
返回层次名称的组织部分。
[OUn]
返回名称的某个组织单元;n 可从 1 到 4,如 OU1。在名称的标准格式中,OU 部分是没有编号的,但是可以从右到左进行计数,因此第一个出现的 OU 标签就是 OU1,第二个出现的就是 OU2,依此类推。但 [OU] 并不是一个 Notes/Domino 关键字。
[P]
返回 PRMD 部分(私人管理网络域名)。
[PHRASE] R5 新增。
返回基于 RFC 822 地址格式语法的标准 Internet 地址的 Phrase 部分。
返回后代部分(例如“Jr”)。
[S]
返回姓氏部分。
[ToKeyword]
掉转名称部件的顺序,并用反斜杠代替斜杠:Country\Organization\Organization Unit...
这在通过用户层次名称的某些部件来分类视图是很有用的(反斜杠代表视图中的子分类)。[ToKeyword] 选项不返回用户名称中的公共名部分。
用法
@Name 对于在视图中缩写层次名称是很有用的。
层次名称是由一系列部件组成,以表示全名、组织单元、组织和国家。使用层次结构的名称可以保证每个用户和服务器都有一个独一无二的名字。
数据库的设计者需要确定输入用户名的方法以及它们在 Notes 应用程序中的显示。为求简单,应该允许用户以缩写的格式输入名称,然后用 @Name 将它扩展为标准格式。也可以使用 @Name 将保存的标准格式的名称转换成缩写格式,以缩写格式显示名称。
使用“名称”、“读者”或“作者”域时,Notes 自动地将层次名称转化成适当的格式以显示并保存起来。如果用户键入了一个缩写的名称,Notes 会在保存它时将其扩展成标准格式;而名称在表单中总是以缩写的格式显示。
在视图中显示层次结构名称域的内容时,Notes 不会自动进行转换,而是将名称按标准格式显示出来。这时可以用 @Name 将该名称转换为其缩写格式。
注释 如果要将参数 A、G、I、P、Q 和 S 用于现有的用户标识符,则这些参数可能会不起作用。添加这些参数是为了利用外出邮件和通道产品上使用的地址定位。当在 Notes 上收到外部的邮件资源时,命名约定可以包括附加成分。@Name 函数可以对层次名称(包括这些额外部分)进行操作。而 Notes/Domino 标识符和名称不包括这些附加成分,因此不可能将这六个参数用于标准的 Notes/Domino 标识符和名称。
下面的样例是一个用上了所有参数的完整的层次名称。
G=Joe/I=JS/S=Smith/Q=Jr/CN=Joseph Smith/OU=Assembly/OU=Engineering/O=Acme/P=PrivAdmin/ A=PubAdmin/C=USA
  • 打赏
  • 举报
回复
xiaoyuer0851 2003-12-14
同意,可以这么做
@Name([CN];@Uersname),得到的是:段平
或者使用楼上的方法,abbreviate,得到你想要的结果
  • 打赏
  • 举报
回复
阿古 2003-12-12
如果是一个用户
用这个就可以了
NotesName.Abbreviated

如果是用户列表建议使用
在louts scirpt中嵌入公式来实现。

Evalueate{@name([abbreviate];xxxx)}
  • 打赏
  • 举报
回复
thomasxdx 2003-12-12
http://expert.csdn.net/Expert/topic/2553/2553219.xml?temp=.7300379
  • 打赏
  • 举报
回复
相关推荐
发帖
消息协作
加入

531

社区成员

企业开发 Exchange Server
申请成为版主
帖子事件
创建了帖子
2003-12-12 01:45
社区公告
暂无公告