我有一个字符串:
hello #this# is #some text string# text text
我想将其改为:
hello <sometag>this</sometag> is <sometag>some text string</sometag> text text
也就是说,将第一个#
替换为HTML标记,将第二个#
替换为结束标记,依此类推。我正在使用Python;任何人都知道任何正则表达式或其他方法吗?
答案 0 :(得分:1)
如果你想HTML加粗由空格包围的散列分隔的所有内容,你可以这样做:
import regex
regex = re.compile('(\s?)#(.*?)#(\s+)')
str = 'hello #this# is #some text string# text text'
str = re.sub(regex, '\\1<b>\\2</b>\\3', str)
如果要在哈希周围没有空格的情况下进行匹配,请将相关行更改为:
regex = re.compile('#(.*?)#')
re.sub(regex, '<b>\\1</b>', str)
但这只会匹配成对的哈希值。在您的示例中,它会产生'<b>text</b>text text<b>text</b>text#text text'
答案 1 :(得分:0)
如果你只是想删除哈希(#),一个简单的替换就可以完成这项任务:
str=str.replace('#','')