我试图找出如何删除字符串中单词的第一个字符。
我的程序读入一个字符串。
假设输入为:
这是演示
我的目的是删除字符串中每个单词的第一个字符,即
tid
,离开his s emo
。
我试过了
for loop
并遍历字符串isspace() function.
i = char + 1,
其中char是空间索引。str_replaced = str[i:].
但除了最后一个字符串外,它删除了整个字符串。
答案 0 :(得分:5)
列表理解是你的朋友。这是最基本的版本,只需一行
str = "this is demo";
print " ".join([x[1:] for x in str.split(" ")]);
output:
his s emo
答案 1 :(得分:4)
如果输入字符串不仅包含空格,还包含换行符或制表符,我会使用regex。
In [1]: inp = '''Suppose we have a
...: multiline input...'''
In [2]: import re
In [3]: print re.sub(r'(?<=\b)\w', '', inp)
uppose e ave
ultiline nput...
答案 2 :(得分:0)
尝试(python 3.2)
import os
s = '''this is a test of the... What? What is going on now?
You guys are cu-rayzy!
Morons!'''
new_lines = []
lines=s.strip().split("\n")
for line in lines:
new_words = []
for word in line.strip().split(" "):
new_words.append(word[1:])
new_lines.append(' '.join(new_words))
new_statement = "\n".join(new_lines)
print (s)
print (new_statement)
这会处理新行,但不保留空格,并从每行的前端和末尾删除空格。
答案 3 :(得分:0)
你可以简单地使用python comprehension
str = 'this is demo'
mstr = ' '.join([s[1:] for s in str.split(' ')])
然后mstr
变量将包含这些值'his s emo'