How to add space before and after specific character using regex in Python? -
i have sentence: transportumum min kalo dari kota|tua | mau ke galeri nasional naik transjakarta jurusan apa ya?
as see there 2 pipe character in sentence, add space before , after pipe if in middle of word without space. eg: kota|tua
kota | tua
this code far:
def puncnorm(text): pat = re.compile(r"\d([|:])\d") text = pat.sub(" \\1 ", text) return text text = "transportumum min kalo dari kota|tua | mau ke galeri nasional naik transjakarta jurusan apa ya?" text = puncnorm(text)
the result add space every pipe character. there double space in tua | mau
:
transportumum min kalo dari kota | tua | mau ke galeri nasional naik transjakarta jurusan apa ya?
my expected result is:
transportumum min kalo dari kota | tua | mau ke galeri nasional naik transjakarta jurusan apa ya?
what best way solve this?
the \d
pattern matches char other digit. may use word boundary here make symbols match when inside word:
r'\b([|:])\b'
see regex demo
note may rid of (...)
need replace whole match. backreference whole match \g<0>
in python.
see python demo:
import re rx = r'\b[|:]\b' s = "transportumum min kalo dari kota|tua | mau ke galeri nasional naik transjakarta jurusan apa ya?" print(re.sub(rx, ' \g<0> ', s)) # => transportumum min kalo dari kota | tua | mau ke galeri nasional naik transjakarta jurusan apa ya?
Comments
Post a Comment