Ответы пользователя по тегу Python
  • Как заменить все иероглифы в строке Python?

    Нашел решение:
    cjk_ranges = [
            ( 0x4E00,  0x62FF),
            ( 0x6300,  0x77FF),
            ( 0x7800,  0x8CFF),
            ( 0x8D00,  0x9FCC),
            ( 0x3400,  0x4DB5),
            (0x20000, 0x215FF),
            (0x21600, 0x230FF),
            (0x23100, 0x245FF),
            (0x24600, 0x260FF),
            (0x26100, 0x275FF),
            (0x27600, 0x290FF),
            (0x29100, 0x2A6DF),
            (0x2A700, 0x2B734),
            (0x2B740, 0x2B81D),
            (0x2B820, 0x2CEAF),
            (0x2CEB0, 0x2EBEF),
            (0x2F800, 0x2FA1F)
        ]
    
    def is_cjk(char):
        char = ord(char)
        for bottom, top in cjk_ranges:
            if char >= bottom and char <= top:
                return True
        return False
    Ответ написан
    Комментировать
  • Как заменить часть текста в строке?

    AndreyGlad
    @AndreyGlad Автор вопроса
    Ternick Спасибо большое за помощь!

    Дополнил код, что бы замена текста происходила в той же строке!

    myfile = 'bot_users.ini'
    word = '76561198868608679'
    cash = 500
    
    f = open(myfile, 'r', encoding="utf-8")#открыл файл
    lines = f.read().strip().split("\n")
    for i, line in enumerate(lines):#ищу № строки
    #for line in lines:#читаю строки# - заменил на строку, указанную выше (что бы определить № строки)
      if word in line:#ищу слово word = 76561198161930938 в строках    
        lines.remove(line)        
        new_list = line.split(' ')          
        steamid = new_list[0]
        name = str(new_list[8])
        bank = new_list[5]
        newbank = int(bank) + cash#создаю (задаю) новое значение newbank 
        new_list[5] = str(newbank)    
        lines.insert(i, " ".join(new_list))#вставляю в туже самую строку данные
        print('New Bank: {}'.format(newbank))#проверка значения newbank
        print('>>>Found!\nLine {}: {}\nSteamid: {}\nName {}\nBank: {}'.format(i, word, steamid, name, bank))
    f.close()
    f = open(myfile, 'w', encoding="utf-8")
    f.write("\n".join(lines))
    f.close()
    Ответ написан