Как изменить текущий символ в "для символа в строке" Python 3 - PullRequest
1 голос
/ 23 марта 2020

Итак, учитывая этот пример:

string = "string"
for char in string:
    if char = "a":
        # change current character to some other character
    elif char = "b"
        # change current character to some other character

как я могу сделать так, чтобы текущий символ строки был заменен какой-то другой строкой ("replace ()" изменяет все символы того же самого Тип

Спасибо

Ответы [ 2 ]

1 голос
/ 23 марта 2020

я не знал, что строка неизменна, но я нашел обходной путь для этого , проходящего через список:

string = 'aa String aa'
string = list(string)
for index in range(len(string)):
    if string[index] == 'a':
        string[index] = 'c'
string = "".join(string)

возможно, другой метод быстрее, но если вам нужно специально L oop хотя строка это будет работать нормально.

0 голосов
/ 23 марта 2020

Если вы не хотите использовать replace или регулярное выражение, вы можете использовать этот код:

string = "abstring"
new_chars = []
for char in string:
    if char == "a":
        char = "b"
    elif char == "b":
        char = "c"
    new_chars.append(char)

new_string = "".join(new_chars)
print(string, new_string)

Или вы можете использовать replace, который имеет count опция:

string = "abstringab"
new_string = string.replace("a", "o", 1)
new_string = new_string.replace("b", "x", 1)
print(new_string)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...