У Python рядки — це базовий тип даних, який використовується для зберігання текстових даних і роботи з ними. Розбиття рядка на численні символи є частим процесом обробки тексту в Python. Під час кодування або імпровізації ваших навичок програмування ви напевно стикалися з багатьма сценаріями, де хотіли б використати split() у Python не розділяти лише на один символ, а відразу на кілька роздільників. У цій статті ми побачимо різні підходи до Рядок Python розділити кілька роздільників.
Input: 'GeeksForGeeks, is an-awesome! website' Output: ['GeeksForGeeks, ', 'is', 'an-awesome!', 'website'] Explanation: In This, we are splitting the multiple delimiters from the string.>
в Python , Ми можемо використовувати різні підходи, щоб розділити кілька роздільників із рядка. За допомогою цих методів розділення та маніпулювання окремими символами з рядка в Python є простим.
- Використання Функція розділення
- Використання replace()
- Використання re.split()
- Використання re.findall()
Розділити рядок кількома роздільниками за допомогою функції розділення
У Python ми можемо розділити декілька символів із рядка за допомогою split(). Тут ми проходимо кожен роздільник і розділяємо рядок за допомогою функція split(). Після розбиття ми об’єднуємо отриманий список пробілами за допомогою функція join(). і ми розбиваємо змінений рядок на основі пробілів, щоб отримати потрібний список рядків.
Python3
string>=> 'GeeksForGeeks, | is an-awesome! website'> delimiters>=> [>','>,>'|'>,>';'>,>'!'>]> for> delimiter>in> delimiters:> >string>=> ' '>.join(string.split(delimiter))> result>=> string.split()> print>(result)> |
>
>
Вихід
на java
['GeeksForGeeks', 'is', 'an-awesome', 'website']>
Розділення Python на кілька символів за допомогою replace()
У Python ми можемо розділити кілька символів із рядка за допомогою замінити(). Це дуже новачок для розбиття. Він не використовує регулярний вираз і неефективний, але все ж варто спробувати. Якщо ви знаєте символи, на які хочете розділити, просто замініть їх пробілом і використовуйте split() .
Python3
data>=> 'Let's_try, this now'> # printing original string> print>(>'The original string is : '> +> data)> # Using replace() and split()> # Splitting characters in String> res>=> data.replace(>'_'>,>' '>).replace(>', '>,>' '>).split()> print>(>'The list after performing split functionality : '> +> str>(res))> |
коментар css
>
>
Вихід
The original string is : Let's_try, this now The list after performing split functionality : ['Let's', 'try', 'this', 'now']>
Розділення Python на кілька символів за допомогою Re.split()
У Python ми можемо розділити кілька символів із рядка за допомогою resplit(). Це найефективніший і найпоширеніший метод розділення кількох символів одночасно. Для цього він використовує регулярні вирази (регулярні вирази).
Python3
import> re> data>=> 'techcodeview.com, is_an-awesome ! website'> print>(>'The original string is : '> +> data)> # Using re.split()> # Splitting characters in String> res>=> re.split(>', |_|-|!'>, data)> print>(>'The list after performing split functionality : '> +> str>(res))> |
>
java читає файл csv
>
Вихід
The original string is : techcodeview.com, is_an-awesome ! website The list after performing split functionality : ['techcodeview.com', 'is', 'an', 'awesome ', ' website']>
Рядок re.split(‘, |_|-|!’, дані) повідомляє Python розділити змінні дані на символи: , або _ або – або ! . Символ | представляє або. У регулярних виразах є деякі символи, які розглядаються як спеціальні символи та мають різні функції. Якщо ви бажаєте розділити такий символ, вам потрібно екранувати його за допомогою a (зворотний слеш), і для нього потрібен один пробіл перед і після спеціальних символів.
Список спеціальних символів, які потрібно екранувати перед використанням:
. + * ? [ ^ ] $ ( ) { } = | :> приклад: У цьому коді ми використовуємо resplit (), щоб розділяти символи з рядків у Python.
Python3
import> re> newData1>=> 'techcodeview.com, is_an-awesome ! app + too'> # To split '+' with one espace before and after '+' symbol and use backslash> print>(re.split(>', |_|-|!|+'>, newData1))> newData2>=> 'techcodeview.com, is_an-awesome ! app+too'> # To split '+' without one espace before and after '+' symbol and use backslash> print>(re.split(>', |_|-|!|+'>, newData2))> |
>
>
Вихід
['techcodeview.com', ' is', 'an', 'awesome', ' app', 'too']>
Примітка: Щоб дізнатися більше про регулярний вираз натисніть тут .
Розділити рядок кількома роздільниками за допомогою re.findall()
У Python ми можемо розділити декілька символів із рядка за допомогою refindall(). Це трохи більш таємнича форма, але вона економить час. Він також використовує регулярний вираз, як вище, але замість .split() метод, він використовує метод під назвою . findall() . Цей метод знаходить усі відповідні екземпляри та повертає кожен із них у списку. Цей спосіб розділення найкраще використовувати, коли ви не знаєте точних символів, на які хочете розділити.
Python3
приклад класу java
import> re> data>=> 'This, is - another : example?!'> print>(>'The original string is : '> +> data)> # Using re.findall()> # Splitting characters in String> res>=> re.findall(r>'[w']+'>, data)> print>(>'The list after performing split functionality : '> +> str>(res))> |
>
>
Вихід
The original string is : This, is - another : example?! The list after performing split functionality : ['This', 'is', 'another', 'example']>
Тут ключове слово [w’]+ вказує на те, що воно знайде всі екземпляри алфавітів або підкреслення (_) один або кілька і поверне їх у списку. Примітка: [w’]+ не розділятиметься на підкреслення ( _ ), оскільки він шукає алфавіти, а також підкреслення.
приклад: У цьому коді ми використовуємо refindall (), щоб розділяти символи з рядків Python.
навчальний посібник із селену
Python3
import> re> testData>=> 'This, is - underscored _ example?!'> print>(re.findall(r>'[w']+'>, testData))> |
>
>
Вихід
['This', 'is', 'underscored', '_', 'example']>
Класи персонажів
Шпаргалка Regex на опис персонажа
| Клас скорочених знаків | Представляє |
|---|---|
| d | Будь-яка цифра від 0 до 9 |
| D | Будь-який символ, який не є цифрою від 0 до 9 |
| В | Будь-яка літера, цифрова цифра або символ підкреслення |
| IN | Будь-який символ, який не є літерою, числом або символом підкреслення |
| s | Будь-який пробіл, табуляція або символ нового рядка |
| S | Будь-який символ, який не є пробілом, символом табуляції або символом нового рядка |