如何在Powershell中提取字符串中等号右侧的任意长度字符
提取字符串中等号右侧内容的实现方案
示例输入字符串:
D:\Put_Your_Temporary_Files_HERE\Auto_Receive\user_out-automation.ini:9:IpAccessListEx=1|131.203.181.66|1|10.21.5.34|1|109.146.13.135|1|10.21.3.3|
实现思路
- 由于目标内容全部在最后一个等号的右侧,直接定位最后一个
=的位置,截取该位置之后的全部字符即可;也可直接按=分割字符串后取最后一段,两种方式都可以适配内容动态变化的场景。
常用语言实现示例
Python
# 方式1:按等号分割取最后一段,代码最简洁 raw_str = r"D:\Put_Your_Temporary_Files_HERE\Auto_Receive\user_out-automation.ini:9:IpAccessListEx=1|131.203.181.66|1|10.21.5.34|1|109.146.13.135|1|10.21.3.3|" result = raw_str.split('=')[-1] # 方式2:定位最后一个等号位置后截取,适配字符串中可能存在多个等号的极端场景 eq_index = raw_str.rfind('=') result = raw_str[eq_index + 1:] if eq_index != -1 else ''
JavaScript
const rawStr = "D:\\Put_Your_Temporary_Files_HERE\\Auto_Receive\\user_out-automation.ini:9:IpAccessListEx=1|131.203.181.66|1|10.21.5.34|1|109.146.13.135|1|10.21.3.3|"; // 方式1:分割取最后一段 const result = rawStr.split('=').pop(); // 方式2:正则匹配末尾非等号内容 const regResult = rawStr.match(/[^=]*$/)?.[0] || '';
通用正则方案
所有支持正则的工具/语言都可以用捕获分组的方式提取:
正则规则:=(.*)$
匹配后取第1个分组的值即可得到等号右侧的全部内容。
内容的提问来源于stack exchange,提问作者Robert
相关产品推荐
相关产品推荐

