如何在第二个位置点后面放置br标签

时间:2017-03-02 20:09:29

标签: python

我希望在<br>发现第二个位置后放置.,如下所示。

str = "Lorem ipsum amet. consectetur adipisicing elit. sed do eiusmod magna aliqua. Ut enim ad minim veniam. Lorem ipsum amet. consectetur adipisicing elit. sed do eiusmod magna aliqua. Ut enim ad minim veniam."

预期结果:

str = "Lorem ipsum amet. consectetur adipisicing elit. <br> sed do eiusmod magna aliqua. Ut enim ad minim veniam. Lorem ipsum amet. <br> consectetur adipisicing elit. sed do eiusmod magna aliqua. <br> Ut enim ad minim veniam."

我尝试使用这个脚本:

s = "During a November 2014 trip to Los Angeles. Boston-based Snapchat creator. Mike Platco stopped by Snap's Venice. CA offices to say hello."
index = [i for i,c in enumerate(s) if c=='.']
data = []
for x in index:
    text = s[:x*2].replace('. ', '. <br>')
    data.append(text)

print data

结果:

['During a November 2014 trip to Los Angeles. <br>Boston-based Snapchat creator. <br>Mike Plat', "During a November 2014 trip to Los Angeles. <br>Boston-based Snapchat creator. <br>Mike Platco stopped by Snap's Venice. <br>CA offices to say hello.", "During a November 2014 trip to Los Angeles. <br>Boston-based Snapchat creator. <br>Mike Platco stopped by Snap's Venice. <br>CA offices to say hello.", "During a November 2014 trip to Los Angeles. <br>Boston-based Snapchat creator. <br>Mike Platco stopped by Snap's Venice. <br>CA offices to say hello."]

1 个答案:

答案 0 :(得分:-1)

请记住正则表达式,但您也可以使用旧的连接和拆分。

source = "Lorem ipsum amet. consectetur adipisicing elit. sed do eiusmod magna aliqua. Ut enim ad minim veniam. Lorem ipsum amet. consectetur adipisicing elit. sed do eiusmod magna aliqua. Ut enim ad minim veniam."
#break it up into a list separated by dots
split_src = source.split(".")
#loop through the list modifying every second one
for i in range(2, len(split_src)-1, 2):
   split_src[i] = "<br>" + split_src[i]
#join the lines up again with a dot
result = ".".join(split_src)

不可否认,上面没有检查是否有超过2个短语(意味着如果源只有2个短语,索​​引[2]会失败),但你应该明白这一点。