首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除spaces....why的Python方法?

删除spaces....why的Python方法?
EN

Stack Overflow用户
提问于 2013-10-13 01:49:21
回答 1查看 77关注 0票数 0

我做的是我想做的事情(拿一个文件,把单词的中间字母重新加入其中),但是由于某种原因,这些空格被移除了,尽管我要求它在空格上拆分。为什么会这样呢?

代码语言:javascript
复制
import random

File_input= str(input("Enter file name here:"))

text_file=None
try:
    text_file = open(File_input)
except FileNotFoundError:
    print ("Please check file name.")



if text_file:            
    for line in text_file:
        for word in line.split(' '):
            words=list (word)
            Internal = words[1:-1]
            random.shuffle(Internal)
            words[1:-1]=Internal
            Shuffled=' '.join(words)
            print (Shuffled, end='')
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-13 02:00:54

如果希望分隔符作为值的一部分:

代码语言:javascript
复制
d = " " #delim
line = "This is a test" #string to split, would be `line` for you
words =  [e+d for e in line.split(d) if e != ""]

这样做是拆分字符串,但返回拆分值加上使用的分隔符。结果仍然是一个列表,在本例中是['This ', 'is ', 'a ', 'test ']

如果希望将分隔符作为结果列表的一部分,而不是使用常规的str.split(),则可以使用re.split()。医生注意到:

Re.split(模式,字符串,maxsplit=0,flags=0) 将字符串按模式出现的情况拆分。如果在模式中使用捕获括号,则模式中所有组的文本也将作为结果列表的一部分返回。

所以,你可以用:

代码语言:javascript
复制
import re
re.split("( )", "This is a test")

结果:['this', ' ', 'is', ' ', 'a', ' ', 'test']

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19341009

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档