I woud need assistance to find the best pythonic way to merge consecutive upper case characters in a string python
Example:
Input: You can pay N O W or Pay me Back MY Money later
Output: You can pay NOW or Pay me Back MY Money later
I am going with a very quick & dirty approach temporarily
s='lets P A Y N O W'
new_s = s
replace_maps = []
replace_str = ''
prev_cap = False
for i, c in enumerate(s):
    if c == ' ':
        continue
    if c.isupper():
        if prev_cap:
            replace_str += c
        else:
            start = i
            replace_str = c
            prev_cap = True
    else:
        end = i
        if prev_cap:
            replace_maps.append([start, end, replace_str])
        prev_cap = False
        replace_str = ''
else:
    end = i
    if prev_cap:
        replace_maps.append([start, end, replace_str])
    prev_cap = False
    replace_str = ''
    
new_s = s[:replace_maps[0][0]] + replace_maps[0][2] + s[replace_maps[0][1]:]
new_s
Output: lets PAYNOWW
 
     
     
    