У меня есть string в той, которая каждый раз, когда есть число нет пространства. Мне хотелось бы создавать это и добавлять запятую.
Например следующее:
2013 Presidential2008 Presidential2016 Parliamentary - Majoritarian Runoff2016 Parliamentary - Majoritarian Rerun
Вы были бы преобразованы в:
2013 Presidential, 2008 Presidential, 2016 Parliamentary - Majoritarian Runoff, 2016 Parliamentary - Majoritarian Rerun
Пока я имею:
for char in s:
... if char.isalpha():
???
Я пробовал также с javascript:
function isNumber(i) {
return (i >= '0' && i <= '9');
}
for (var x = 0; x < text.length; x++)
{
var c = text.charAt(x);
if isNumber(i){
// add a ", " before and move to the next char which is a letter
text[:x] + ', ' + text[x:]
}
}
Но Вы возвращаете меня Uncaught SyntaxError: Unexpected identifier
AГ±ado новость soluciГіn вводя запятую и место между группой 1 (Не dГ-gitos) и группа 2 (dГ-gitos): Вышедшие
import re
cadena = "2013 Presidential2008 Presidential2016 Parliamentary - Majoritarian Runoff2016 Parliamentary - Majoritarian Rerun"
print(re.sub(r'(\D)(\d)', r'\1, \2', cadena))
:
2013 Presidential, 2008 Presidential, 2016 Parliamentary - Majoritarian Runoff, 2016 Parliamentary - Majoritarian Rerun
Ты можешь использовать регулярные выражения, которые служат для того, чтобы найти главные файлы в цепях текста, в этом случае buscarГ - в nГєmeros в твоей цепи, которая они находятся следующий за буквой (если только пробует искать nГєmeros и уже эта довольно письменная цепь volverГЎ в aГ±adir место и запятая), для того, чтобы после использовать replace
и для того, чтобы заменить ее.
import re
cadena = "2013 Presidential2008 Presidential2016 Parliamentary - Majoritarian Runoff2016 Parliamentary - Majoritarian Rerun"
coincidencias = set(re.findall(r"[a-zA-Z][0-9]+", cadena))
for i in coincidencias:
cadena = cadena.replace(i, f", {i[1:]}")
print(cadena)
Полученные
2013 Presidentia, 2008 Presidentia, 2016 Parliamentary - Махоритариан Руноф, 2016 Parliamentary - Махоритариан Рерун
Объяснение
Команда findall возвращает список со всеми совпадениями, находившимися в цепи, ввиду регулярного выражения, которого в этом примере было [a-zA-Z][0-9]+
, эта expresiГіn то, что он делает, состоит в том, чтобы находить цепи, у которых есть буква, уже будьте minГєscula или прописная буква [a-zA-Z]
и продолжите какой-либо или больше dГ-gitos [0-9]+
(для этого он больше в регулярном выражении), уже только договорись о том, чтобы повторить на совпадениях и remplazar, опуская первый характер, который является буквой.
import re
string = "2013 Presidential2008 Presidential2016 Parliamentary - Majoritarian Runoff2016 Parliamentary - Majoritarian Rerun"
matches = re.findall("(\d+)", string)
matches = list(dict.fromkeys(matches))
for num in matches:
string=string.replace(num, ', '+num)
if string[0]+string[1]==', ':
string=string[2:]
print(string)
не бери это как лучший способ это делать, а как путеводитель, откуда получать лучшие идеи