将url中的字母数字文本替换为同一url中的aplha数字文本的组合

2024-09-30 04:31:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我遇到了一个独特的情况,需要将url中的字母数字文本替换为同一url中其他文本的组合

下面是一个示例url

网站url(“ABC_584”,“url=https://ABCD.com/dEKgZETqwmDAh1rP/ArcGIS/rest/services/Overlay_Character/FeatureServer/0/query

在这个url中,我需要将“ABC_584”替换为“Overlay_Character_0”

“ABC_584”不是静态的,并且会发生变化,因此在web_url(“XYZ_0-9”(即本例中的XYZ_0-9))之后的引号中的任何内容都必须替换为上述url中“Service/”之后的文本和FeatureServer/之后的数字

还有一件事“ABC_584”也可以是“123_123”完全数字化

有100的网址,我需要这样做,因此手动不可能,我尝试了VB脚本,编写Excel公式没有用

这里有谁可以通过Excel或Python代码使用任何可能的方法来帮助我

谢谢你的阅读,如果你需要更多的信息请告诉我


Tags: https文本url示例网站字母情况数字
1条回答
网友
1楼 · 发布于 2024-09-30 04:31:27

您可以在gvim(或vi,vim)编辑器中通过一行regex replace命令(一行用于所有URL)完成您想要做的事情:

:%s/web_url(".*","\(.*services\/\(.*\)\/FeatureServer\/\(.*\)\/query\)\@=/web_url("\2_\3","/g

类似的正则表达式也可以使用Python完成(遍历所有URL)

import re
print (re.sub("web_url\(\"(.*)\",\"(?=.*services\/(.*)\/FeatureServer\/(.*)\/query)",r'web_url("\2_\3","', [your url string]))

如果确实要使用Excel公式:

  1. 通过=mid([url], 10, find(""",""",[url])-10)提取“ABC_584”
  2. 通过=LEFT(SUBSTITUTE(MID([url],FIND("services/", [url])+LEN("services/"),1000),"/FeatureServer/","_"), LEN(SUBSTITUTE(MID([url],FIND("services/", [url])+LEN("services/"),1000),"/FeatureServer/","_"))-LEN("/query?"))提取“services/”之后的组
  3. 将(1)替换为(2)使用Excel公式替换为=SUBSTITUTE([url], [1], [2])

相关问题 更多 >

    热门问题