Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我需要一个 C# 正则表达式来提取字符串的最后 6 个字母并在它们中间添加一个正斜杠。例如:
xx_xxxx_xxxABCXYZ.Something.csv
我需要ABC/XYZ
ABC/XYZ
3 个字母的组成部分可以是任何东西,前面 x 的数量会有所不同。但是,我需要的 6 个字母总是在第一个句点之前。
我没有附加代码的选项,因为我需要将模式和替换输入到 GUI 中。
非常感激。
用这个:
^.*?(\w{3})(\w{3})\..*$
用。。。来代替:
$1/$2
该模式匹配整个字符串,因此所有内容最终都会被删除,但它会在捕获组中捕获两个字符串,每个字符串包含 3 个字符。$1然后使用和访问并放回原位$2。模式后面也跟着\.,所以这六个字符后面必须有一个点。?之后.*确保您找到第一个可能出现的位置(而不是)ething。
$1
$2
\.
?
.*
ething
请注意,这允许数字、字母和下划线组成六个字符。如果您只想要字母,请使用[a-zA-Z]or[A-Z]仅用于大写。
[a-zA-Z]
[A-Z]
我会使用Path.GetFileNameWithoutExtension然后string.Insert添加斜杠