我有很多类似的模型
"Dell Inspiron 6 (i7-8550U/8GB/256GB/Radeon 520/FHD/W10)"
"Lenovo V130 (i5-7200U/4GB/128GB/FHD/W10) (2017)"
"Dell XPS 13 Touch (i7-8550U/16GB/512GB/UHD/W10)"
,我想删除提及规格的括号。
最终输出应该是这样
"Dell Inspiron 6"
"Lenovo V130 (2017)"
"Dell XPS 13 Touch"
我通过此正则表达式设法获得了括号内容
\((.+?)\)
但是,正则表达式返回两个括号。
有什么办法只能获取大于字符数的文本?
答案 0 :(得分:1)
您可以使用此正则表达式来匹配(...)
和(
之间有6个以上字符的)
:
\s*\(([^)]{6,})\)
RegEx详细信息:
[^)]
:匹配)
以外的任何字符{6,}
:用于匹配6个或更多字符的量词答案 1 :(得分:0)
使用正则表达式替换,并将sub替换为空字符串。例如,在Python中,您可以执行以下操作:
import re
name = 'Dell Inspiron 6 (i7-8550U/8GB/256GB/Radeon 520/FHD/W10)'
re.sub("\s\(.{5,}\)", "", name)
输出
'Dell Inspiron 6'
请注意,我使用的{5,}
仅匹配具有5个或更多字符的副字符串,这将保留年份(例如(2017))。
答案 2 :(得分:0)