Python 如何从字段中删除1个和/或2个单词

Python 如何从字段中删除1个和/或2个单词,python,Python,python新手。正在尝试使用python在ArcGISmap中显示标签。我尝试了几种表达方式,但似乎无法从名为SITE\u NAME的字段中删除“Branch”和/或“Library”这两个词。站点名称的某些值存储为 "[name of city] Branch Library" 还有一些是 "[name of city] Library" 我不希望我的标签在地图上显示这两个,因为它看起来太忙了。一些城市名称包含字符串“Ranch”,因此这些名称也被删除-例如,如果名称是“Weston R

python新手。正在尝试使用python在
ArcGIS
map中显示标签。我尝试了几种表达方式,但似乎无法从名为
SITE\u NAME
的字段中删除“Branch”和/或“Library”这两个词。站点名称的某些值存储为

"[name of city] Branch Library"
还有一些是

"[name of city] Library"
我不希望我的标签在地图上显示这两个,因为它看起来太忙了。一些城市名称包含字符串
“Ranch”
,因此这些名称也被删除-例如,如果名称是
“Weston Ranch Branch Library”
,我只希望标签是
“Weston Ranch”
,或者如果名称是
“Weston Library”
则只显示
“Weston”。
谢谢

def FindLabel([SITE],[SITE_NAME]):
返回[站点]+“-”+[站点名称]

您可以使用注释中提到的两个replace语句,后面紧跟着彼此。i、 e

label = label.replace('Branch Library', '').replace('Library', '')
但是,如果您有更多要删除的单词,您可以创建一个实际的
shorten\u site\u name
函数,该函数包含一组要删除的单词:

>>> def shorten_site_name(site_name):
...   words_to_remove = {"Branch", "Library"}
...   return ' '.join(w for w in site_name.split() if w not in words_to_remove)
... 
>>> site_names = ["Weston Ranch Branch Library", "Weston Library"]
>>> new_site_names = list(map(lambda site: shorten_site_name(site), site_names))
>>> new_site_names
['Weston Ranch', 'Weston']

label=label.replace('Branch Library','').replace('Library','')
似乎是一个合理的开始,但很难告诉您很多关于数据形式的信息也许给我们一个例子?谢谢!告诉过你我是个新手。不知道我可以使用2个替换命令。如何标记为已回答?常见问题解答要求检查正确答案。我该怎么做?@user11886696我将其作为评论输入,因为我不清楚您的问题,但shash678采用了相同的方法,以更灵活的方式删除不需要的字符串,因此您可以通过单击其旁边的复选标记来接受。