我想使用第三方工具将大量文件批量导入SharePoint并将其与用户关联。它需要一个正则表达式来执行文件名和帐户名之间的转换。
我们的文件格式为firstname surname
或firstname middlename surname
。
我们的帐户名称采用firstname
然后first inital of the surname
。
所以说明一下:
foo bar -> foob
foo bar qux -> fooq
在搜索时,我确实找到了一些获取最后一个单词的第一个字母的例子,但它们都使用了代码中的函数和正则表达式,但在这种情况下我无法使用。是否可以单独使用正则表达式进行此操作?
答案 0 :(得分:3)
你可以试试这个:
^([a-zA-Z]+).*\s([a-zA-Z])[a-zA-Z]+$
您将在第一个捕获组中找到第一个名称,大多数称为$1
,而$2
中的姓氏的第一个字符
如果名称仅由字母a-z或A-Z组成,则此方法有效。为了给你一个更好的答案,你需要给出你的名字的规格和你正在使用的工具。
答案 1 :(得分:0)
试试这个(Perl风格):
s/(\w+).*?\s(\w)(\w+)$/$1$2/
答案 2 :(得分:0)
将每个文件名与此模式匹配:
^(\w+)\s+(\w+\s+)?(\w)\w*$
并使用以下模式替换匹配的字符串以生成帐户名称:
$1$3