logo

Як видалити літери з рядка в Python

Рядки — це типи даних, які використовуються для представлення тексту/символів. У цій статті ми представляємо різні методи вирішення проблеми видалення iтиссимвол із рядка та обговоріть можливі рішення, які можна використати для досягнення їх за допомогою Python.

  Input:   'Geeks123For123Geeks'   Output:   GeeksForGeeks   Explanation:   In This, we have removed the '123' character from a string.>

Видалення символів із рядка в Python

Це наведені нижче методи, за допомогою яких ми можемо видалити літери з рядка Python :

  • Використання str.replace()
  • Використання переклад()
  • Використання рекурсія
  • Використання рідного методу
  • Використання фрагмента + конкатенації
  • Використання str.join()
  • Використання байтовий масив
  • Використання видалити префікс ()

Видалення символів із рядка за допомогою replace()

str.replace() можна використовувати для заміни всіх входжень потрібного символу. Його також можна використовувати для виконання завдання видалення символів із рядка, оскільки ми можемо замінити окремий індекс порожнім символом і таким чином вирішити проблему.



Python3




# Initializing String> test_str>=> 'GeeksForGeeks'> # Removing char at pos 3> # using replace> new_str>=> test_str.replace(>'e'>, '')> # Printing string after removal> # removes all occurrences of 'e'> print>(>'The string after removal of i'th character( doesn't work) : '> +> new_str)> # Removing 1st occurrence of s, i.e 5th pos.> # if we wish to remove it.> new_str>=> test_str.replace(>'s'>, '',>1>)> # Printing string after removal> # removes first occurrences of s> print>(>'The string after removal of i'th character(works) : '> +> new_str)>

>

підрядок javascript trim
>

Вихід

The string after removal of i'th character( doesn't work) : GksForGks The string after removal of i'th character(works) : GeekForGeeks>

Часова складність: O(n)
Космічна складність: O(n)

Недолік: Основним недоліком використання replace() є те, що він не працює у випадках, коли в рядку є дублікати, які відповідають char у позиції. i. replace() замінює всі входження певного символу і, отже, замінює всі входження всіх символів у pos i. Ми все ще можемо іноді використовувати цю функцію, якщо символ заміни зустрічається для 1вулчас у рядку.

Видалення конкретного символу з рядка за допомогою Translate()

Цей метод забезпечує надійний механізм видалення символів із рядка. У цьому методі ми видалили 123 з techcodeview.com за допомогою string.translate() .

Python3




str> => 'Geeks123For123Geeks'> > print>(>str>.translate({>ord>(i):>None> for> i>in> '123'>}))>

>

>

Вихід

GeeksForGeeks>

Часова складність: O(n)
Космічна складність: О(м)

Видаліть конкретний символ із рядка за допомогою рекурсії

Щоб видалити символ i з рядка за допомогою рекурсії, ви можете визначити рекурсивну функцію, яка приймає рядок та індекс, які потрібно видалити, як аргументи. Функція перевірить, чи дорівнює індекс 0, у цьому випадку вона повертає рядок із видаленим першим символом. Якщо індекс не дорівнює 0, функція може повернути перший символ рядка, об’єднаного з результатом повторного виклику функції для рядка з індексом, зменшеним на 1.

Python3




def> remove_ith_character(s, i):> ># Base case: if index is 0,> ># return string with first character removed> >if> i>=>=> 0>:> >return> s[>1>:]> ># Recursive case: return first character> ># concatenated with result of calling function> ># on string with index decremented by 1> >return> s[>0>]>+> remove_ith_character(s[>1>:], i>-> 1>)> # Test the function> test_str>=> 'GeeksForGeeks'> new_str>=> remove_ith_character(test_str,>2>)> print>(>'The string after removal of ith character:'>, new_str)> # This code is contributed by Edula Vinay Kumar Reddy>

>

>

Вихід

The string after removal of ith character: GeksForGeeks>

Часова складність: O(n)
Космічна складність: O(n)

Видалення літер із рядка за допомогою рідного методу

У цьому методі потрібно просто запустити a Цикл Python і додавати символи, як вони надходять, і створювати новий рядок із існуючого, за винятком випадків, коли індекс i.

Python3




test_str>=> 'GeeksForGeeks'> # Removing char at pos 3> new_str>=> ''> for> i>in> range>(>len>(test_str)):> >if> i !>=> 2>:> >new_str>=> new_str>+> test_str[i]> # Printing string after removal> print> (>'The string after removal of i'th character : '> +> new_str)>

>

>

Вихід

The string after removal of i'th character : GeksForGeeks>

Часова складність: O(n)
Космічна складність: O(n), де n – довжина рядка.

Видаліть iтисСимвол із рядка за допомогою фрагмента

Можна використовувати зріз рядка і нарізати рядок перед pos i, і нарізати після pos i. Потім використовуючи конкатенація рядків обох, ятиссимвол може виглядати видаленим із рядка.

Python3




# Initializing String> test_str>=> 'GeeksForGeeks'> # Removing char at pos 3> # using slice + concatenation> new_str>=> test_str[:>2>]>+> test_str[>3>:]> # Printing string after removal> # removes ele. at 3rd index> print> (>'The string after removal of i'th character : '> +> new_str)>

перенесення слів css

>

>

Вихід

The string after removal of i'th character : GeksForGeeks>

Часова складність: O(n)
Космічна складність: O(n)

Видаліть iтисВикористання символу з рядка str.join()

У цьому методі кожен елемент рядка спочатку перетворюється як кожен елемент списку, а потім кожен з них об’єднується, щоб утворити рядок, за винятком зазначеного індексу.

Python3




# Initializing String> test_str>=> 'GeeksForGeeks'> # Removing char at pos 3> # using join() + list comprehension> new_str>=> ''.join([test_str[i]>for> i>in> range>(>len>(test_str))>if> i !>=> 2>])> # Printing string after removal> # removes ele. at 3rd index> print> (>'The string after removal of i'th character : '> +> new_str)>

>

>

Вихід

The string after removal of i'th character : GeksForGeeks>

Часова складність: O(n)
Космічна складність: O(n)

Видалення літер із рядка в Python за допомогою bytearray

Визначте функцію remove_char(s, i), яка приймає рядок s і ціле число i як вхідні дані. А потім перетворіть вхідний рядок s на масив bytearray за допомогою bytearray(s, ‘utf-8’). Видалити i-й елемент із байтовий масив використовуючи del b[i]. Перетворіть змінений bytearray назад у рядок за допомогою b.decode() і поверніть змінений рядок.

Python3




def> remove_char(s, i):> >b>=> bytearray(s,>'utf-8'>)> >del> b[i]> >return> b.decode()> # Example usage> s>=> 'hello world'> i>=> 4> s>=> remove_char(s, i)> print>(s)>

упорядкований обхід дерева

>

>

Вихід

hell world>

Часова складність: O(n)
Космічна складність: O(n)

Видалення літер із рядка за допомогою removeprefix()

removeprefix() видаляє префікс і повертає решту рядка. Ми можемо видалити літери з рядка для будь-якого конкретного індексу, розділивши рядок на дві половини так, щоб літера, яку ми хотіли видалити, була в префіксі будь-якого з двох розділів, а потім ми можемо застосувати метод для видалення літери.

Python3




#initializing the string> s>=>'techcodeview.com'> #if you wanted to remove 'G' of 0th index> s1>=>s.removeprefix(>'G'>)> #if you wanted to remove 'f'> s2>=>s[:>5>]>+>s[>5>:].removeprefix(>'f'>)> print>(s1)> print>(s2)>

>

>

Вихід:

eeksforGeeks GeeksorGeeks>

Часова складність: O(n)
Космічна складність: O(n)