Here is my problem: in a variable that is text and contains commas, I try to delete only the commas located between two strings (in fact [ and ]). For example using the following string:
input = "The sun shines, that's fine [not, for, everyone] and if it rains, it Will Be better."
output = "The sun shines, that's fine [not for everyone] and if it rains, it Will Be better."
I know how to use .replace for the whole variable, but I can not do it for a part of it.
There are some topics approaching on this site, but I did not manage to exploit them for my own question, e.g.:
First you need to find the parts of the string that need to be rewritten (you do this with
re.sub). Then you rewrite that parts.The function
var1 = re.sub("re", fun, var)means: find all substrings in te variablevarthat conform to"re"; process them with the functionfun; return the result; the result will be saved to thevar1variable.The regular expression “[[^]]*]” means: find substrings that start with
[(\[in re), contain everything except]([^]]*in re) and end with](\]in re).For every found occurrence run a function that convert this occurrence to something new.
The function is:
That means: take the string that found (
group(0)), replace','with''(remove,in other words) and return the result.