0

我想使用第三方工具将大量文件批量导入 SharePoint 并将它们与用户相关联。它需要一个正则表达式来进行文件名和帐户名之间的转换。

我们的文件格式为firstname surnamefirstname middlename surname. 我们的帐户名称采用firstnamethen的形式first inital of the surname

所以为了说明:

foo bar -> foob
foo bar qux -> fooq

在搜索时,我确实找到了一些获取遗言的第一个字母的示例,但它们都在代码中结合正则表达式使用了函数,但在这种情况下我无法使用。是否可以单独使用正则表达式来做到这一点?

4

3 回答 3

3

你可以试试这个:

^([a-zA-Z]+).*\s([a-zA-Z])[a-zA-Z]+$

在 Regexr 上查看

您会在第一个捕获组中找到名字,通常称为$1和姓氏的第一个字符$2

如果名称仅由字母 az 或 AZ 组成,这将起作用。为了给你一个更好的答案,你需要给出你的名字的规格和你使用的工具。

于 2012-11-21T11:20:10.377 回答
0

试试这个(Perl 风格):

s/(\w+).*?\s(\w)(\w+)$/$1$2/
于 2012-11-21T11:24:11.393 回答
0

将每个文件名与此模式匹配:

^(\w+)\s+(\w+\s+)?(\w)\w*$

并将匹配的字符串替换为以下模式以生成帐户名称:

$1$3
于 2012-11-21T12:14:09.583 回答