如何使用Python27替换字符串公共特征之间的部分字符串

2024-09-30 16:36:22 发布

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

我正在编写一个Python脚本,以交互方式替换一组web服务链接(想象为整个字符串)中公共特性之间的pin号(字符串的一部分)。请参见以下案例:

整个字符串:

http://www.adamscountyarcserver.com/adamscountyarcserver/rest/services/Adams_County_Basemap_Complete/MapServer/14/query?where=**PIN%3D%27010059400200%27**&text=&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&relationParam=&outFields=&returnGeometry=true&returnTrueCurves=false&maxAllowableOffset=&geometryPrecision=&outSR=4326&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&resultOffset=&resultRecordCount=&queryByDistance=&returnExtentsOnly=false&datumTransformation=&parameterValues=&rangeValues=&f=pjson

我要替换的字符串部分/pin number: 010059400200

在管脚编号的开头和结尾包围的常见功能: PIN%3D%27%27

我尝试了python内置函数,比如replacesubstitutepartition,但似乎所有这些函数都要求我指定要替换的单词本身,而不是指定整个字符串中单词的相对位置

有什么解决办法或想法吗


Tags: 函数字符串脚本comwebfalsehttp链接
1条回答
网友
1楼 · 发布于 2024-09-30 16:36:22

有几种方法可以做到这一点,但我认为re.sub可能是最简单的:

>>> import re
>>> newpin = '1234567890'
>>> re.sub(r'PIN%3D%27\d+%27', 'PIN%3D%27' + newpin + '%27', text)
'http://www.adamscountyarcserver.com/adamscountyarcserver/rest/services/Adams_County_Basemap_Complete/MapServer/14/query?where=PIN%3D%271234567890%27&text=&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&relationParam=&outFields=&returnGeometry=true&returnTrueCurves=false&maxAllowableOffset=&geometryPrecision=&outSR=4326&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&resultOffset=&resultRecordCount=&queryByDistance=&returnExtentsOnly=false&datumTransformation=&parameterValues=&rangeValues=&f=pjson'

相关问题 更多 >