[英]Javascript RegEx replace to conditionally remove part of a string
[英]RegEx remove part of string and and replace another part
我在使用 RegEx(使用 C#)获得所需结果时遇到了挑战,我希望社区可以提供帮助。
我有一个 URL 格式如下: https://somedomain.com/subfolder/category/?abc=text:value&ida=0&idb=1
我想做两个修改,具体来说:
1) 删除 'value' 之后的所有内容,例如 '&ida=0&idb=1'
2) 将“类别”替换为“新类别”
所以结果是: https://somedomain.com/subfolder/newcategory/?abc=text:value
我可以从 1) 中删除字符串,例如上面的 ^[^&]+,但我无法弄清楚如何替换“类别”substring。
任何帮助或指导将不胜感激。
先感谢您。
您在这里没有指定语言,我主要研究 python 所以解决方案在 python 中。
url = re.sub('category','newcategory',re.search('^https.*value', value).group(0))
解释re.sub 用于将 c 中的值 a 替换为 b。
re.search 用于匹配字符串中的特定模式并将值存储在组中。 所以在上面的代码中,re.search 会将值从“https 到值”存储在第 0 组中。
使用 Python 并且只使用内置字符串方法(这里不需要正则表达式):
url = r"https://somedomain.com/subfolder/category/?abc=text:value&ida=0&idb=1"
new_url = (url.split('value')[0] + "value").replace("category", 'newcategory')
print(new_url)
输出:
https://somedomain.com/subfolder/newcategory/?abc=text:value
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.