- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
在 python 上给定以下字符串:
foo bar
我一直试图只删除“foo”和“bar”之间重复出现的空格,并只用一次空格替换它,但留下第一个缩进/空格。
foo bar
我已经尝试了以下正则表达式,通常它以意外结果结束。
[\s]+ # which selects all spaces
foobar
[\w][\s]+ # which selects the first characters and following spaces
fobar
有没有办法使用正则表达式来完成这个?
编辑:抱歉!可能还不清楚,但字符串可能会有所不同,因为我的主要目标是只删除句子中重复出现的空格而不影响缩进!再次编辑:StackOverflow 上已经提出的其他问题的区别在于我希望保留开头的空格而不是删除所有空格。该项目是读取带有缩进的 txt 文件并删除 txt 文件中的所有空格。
最佳答案
您可以使用环视正则表达式:
>>> s = ' foo bar '
>>> print re.sub(r'(?<=\S)\s+(?=\S)', ' ', s)
foo bar
(?<=\S)
: 回头断言我们之前有非空格\s+
: 匹配 1+ 个空格(?=\S)
: 向前看,断言我们前面没有空间或者,您也可以使用捕获组:
>>> print re.sub(r'(\S)\s+(\S)', r'\1 \2', s)
foo bar
关于Python 正则表达式 : Internal reoccurring spaces only,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46924055/
在 python 上给定以下字符串: foo bar 我一直试图只删除“foo”和“bar”之间重复出现的空格,并只用一次空格替换它,但留下第一个缩进/空格。 foo bar 我
我是使用 R 进行数据分析的新手。我最近获得了一个预先格式化的环境观测模型数据集,其示例子集如下所示: date site obs mod
我正在开发一个主要由 AJAX/REST API 调用提供支持的网站,该调用会在完成/失败时广播事件。 我想要完成的是监听这些文档事件并触发 Selenium (Node.js) 中的函数 - 现在我
我需要浏览一个巨大的(20GB,对于内存而言太大)生物序列数据库GeneBank的文本文件)并为每个数据库条目提取相同的信息。每个条目都以 LOCUS XYZ some more text 行开头,并
我是一名优秀的程序员,十分优秀!