删除Python中字符串连接时间隔的额外空格

0 投票
4 回答
5513 浏览
提问于 2025-04-16 18:20

我有一个字符串,它让我的Python脚本崩溃:

"625             625 QUAIL DR UNIT B"

我需要删除这个字符串中间多余的空格,所以我正在尝试使用下面这个分割和连接的脚本:

import arcgisscripting
import logging 
logger = logging.getLogger()

gp = arcgisscripting.create(9.3)
gp.OverWriteOutput = True

gp.Workspace = "C:\ZP4"
fcs = gp.ListWorkspaces("*","Folder")

for fc in fcs:

    print fc
    rows = gp.UpdateCursor(fc + "//Parcels.shp")
    row = rows.Next()
    while row:
        Name = row.GetValue('SIT_FULL_S').join(s.split())
        print Name
        row.SetValue('SIT_FULL_S', Name)
        rows.updateRow(row)
        row = rows.Next()
    del row
    del rows

4 个回答

2

我觉得你可以用正则表达式来找到所有有两个或更多空格的地方,然后把它们替换成一个空格。

这可以用更简短的代码来实现:

re.sub(r'\s{2,}', ' ', your_string)
3

使用 re 模块...

>>> import re
>>> str = 'A   B C'
>>> re.sub(r'\s+', ' ', str)
'A B C'
4

你的源代码和错误信息不一致,错误提示说你没有定义变量 SIT_FULL_S

我猜测你想要的是:

Name = ' '.join(row.GetValue('SIT_FULL_S').split())

撰写回答