削减从字符串Python的中间词

时间:2013-09-16 11:30:09

标签: python string beautifulsoup

我试图从删除的数据中删除几个字。

3 Bedroom, Residential Apartment in Velachery

这样有很多行数据。我想从字符串中删除“卧室”这个词。我正在使用美丽的汤和python来抓取网页,我在这里使用这个

for eachproperty in properties:
 print eachproperty.string[2:]

我知道上面的代码会做什么。但我无法弄清楚如何删除介于3和Residen之间的“卧室”......

3 个答案:

答案 0 :(得分:1)

>>> import re   
>>> strs = "3 Bedroom, Residential Apartment in Velachery"
>>> re.sub(r'\s*Bedroom\s*', '', strs)
'3, Residential Apartment in Velachery'

或:

>>> strs.replace(' Bedroom', '')
'3, Residential Apartment in Velachery'

请注意,字符串是不可变的,因此您需要将结果从re.substr.replace分配给变量。

答案 1 :(得分:0)

您需要的是replace方法:

line = "3 Bedroom, Residential Apartment in Velachery"
line = line.replace("Bedroom", "")

# For multiple lines use a for loop
for line in lines:
    line = line.replace("Bedroom", "")

答案 2 :(得分:0)

快速回答是

k = input_string.split()
if "Bedroom" in k:
  k.remove("Bedroom")
answer = ' '.join(k)

这不会像你的问题那样处理标点符号。要做到这一点,你需要

rem = "Bedroom"
answer = ""
for i in range(len(input_string)-len(rem)):
   if (input_string[i:i+len(rem)]==rem):
     answer = input_string[:i]+input_string[i+len(rem)]
     break