Разное

Заменить символ в строке java: Java – replace() – замена символов в строке

Содержание

Расширения для java.lang.StringBuilder Добавляет значение к этому StringBuilder, за которым следует символ перевода строки. Добавляет разделитель строк к этому StringBuilder.


Основными операциями над StringBuilder являются методы добавления и вставки, которые перегружены, чтобы принимать данные любого типа. Каждый из них эффективно преобразует данные данные в строку, а затем добавляет или вставляет символы этой строки в построитель строк.

Прежде чем перейти к примеру, мы должны знать, что такое построитель строк. Класс StringBuilder используется для создания изменяемой строки и не является потокобезопасным, поэтому несколько потоков могут одновременно обращаться к классу построителя строк. Этот пример демонстрирует, как использовать класс string Builder в android.

Метод replace(int start, int end, String str) класса StringBuilder используется для замены символов в подстроке этой последовательности на символы в указанной строке.

Шаблон построителя предоставляет API для пошагового создания объекта. Шаблоны построителей особенно полезны, когда объекты необходимо создавать динамически.


котлин-stdlib / kotlin.text / java.lang.StringBuilder

Требования к платформе и версии: JVM (1.4)

appendLine

Добавляет значение к этому StringBuilder , за которым следует символ перевода строки ( \n ).

fun StringBuilder.appendLine(
    value: StringBuffer?
): StringBuilder
fun StringBuilder.appendLine(
    value: StringBuilder?
): StringBuilder
fun StringBuilder.appendLine(value: Int): StringBuilder
fun StringBuilder.appendLine(value: Short): StringBuilder
fun StringBuilder.appendLine(value: Byte): StringBuilder
fun StringBuilder.appendLine(value: Long): StringBuilder
fun StringBuilder.appendLine(value: Float): StringBuilder
fun StringBuilder.
appendLine(value: Double): StringBuilder

Требования к платформе и версии: JVM (1.0)

appendln

Добавляет линейный разделитель к этому строительному конвейеру.

fun StringBuilder.appendln(): StringBuilder

Добавляет значение к этому StringBuilder , за которым следует разделитель строк.

fun StringBuilder.appendln(
    value: StringBuffer?
): StringBuilder
fun StringBuilder.appendln(
    value: CharSequence?
): StringBuilder
fun StringBuilder.appendln(value: String?): StringBuilder
fun StringBuilder.appendln(value: Any?): StringBuilder
fun StringBuilder.appendln(
    value: StringBuilder?
): StringBuilder
fun StringBuilder.appendln(value: CharArray): StringBuilder
fun StringBuilder.appendln(value: Char): StringBuilder
fun StringBuilder.appendln(value: Boolean): StringBuilder
fun StringBuilder.appendln(value: Int): StringBuilder
fun StringBuilder. appendln(value: Short): StringBuilder
fun StringBuilder.appendln(value: Byte): StringBuilder
fun StringBuilder.appendln(value: Long): StringBuilder
fun StringBuilder.appendln(value: Float): StringBuilder
fun StringBuilder.appendln(value: Double): StringBuilder

Требования к платформе и версии: JVM (1.4)

appendRange

Добавляет символы в подмассиве указанного значения массива символов к этому построителю строк и возвращает этот экземпляр.

fun StringBuilder.appendRange(
    value: CharArray, 
    startIndex: Int, 
    endIndex: Int
): StringBuilder

Добавляет подпоследовательность указанного значения последовательности символов к этому построителю строк и возвращает этот экземпляр.

fun StringBuilder.appendRange(
    value: CharSequence, 
    startIndex: Int, 
    endIndex: Int
): StringBuilder

Требования к платформе и версии: JVM (1. 3)

clear

Очищает содержимое этого построителя строк,делая его пустым,и возвращает этот экземпляр.

fun StringBuilder.clear(): StringBuilder

Требования к платформе и версии: JVM (1.4)

deleteAt

Удаляет символ по указанному индексу из этого построителя строк и возвращает этот экземпляр.

fun StringBuilder.deleteAt(index: Int): StringBuilder

Требования к платформе и версии: JVM (1.4)

deleteRange

Удаляет символы в указанном диапазоне из данного построителя строк и возвращает данный экземпляр.

fun StringBuilder.deleteRange(
    startIndex: Int, 
    endIndex: Int
): StringBuilder

Требования к платформе и версии: JVM (1.4)

insertRange

Вставляет символы в подмассив указанного значения массива символов в этот построитель строк по указанному индексу и возвращает этот экземпляр.

fun StringBuilder. insertRange(
    index: Int, 
    value: CharArray, 
    startIndex: Int, 
    endIndex: Int
): StringBuilder

Вставляет символы в подпоследовательности указанного значения последовательности символов в этот построитель строк по указанному индексу и возвращает этот экземпляр.

fun StringBuilder.insertRange(
    index: Int, 
    value: CharSequence, 
    startIndex: Int, 
    endIndex: Int
): StringBuilder

Требования к платформе и версии: JVM (1.0)

set

Устанавливает для символа по указанному индексу указанное значение .

operator fun StringBuilder.set(index: Int, value: Char)

Требования к платформе и версии: JVM (1.4)

setRange

Заменяет символы в указанном диапазоне этого построителя строк на символы в указанном строковом значении и возвращает этот экземпляр.

fun StringBuilder.setRange(
    startIndex: Int, 
    endIndex: Int, 
    value: String
): StringBuilder

Требования к платформе и версии: JVM (1. 4)

toCharArray

Копирует символы из этого построителя строк в целевой массив символов.

fun StringBuilder.toCharArray(
    destination: CharArray, 
    destinationOffset: Int = 0, 
    startIndex: Int = 0, 
    endIndex: Int = this.length)


Kotlin 1.8
  • deleteAt

    Удаляет символ по указанному индексу из этого построителя строк и возвращает экземпляр.

  • deleteRange

    Удаляет символы в указанном диапазоне из этого построителя строк и возвращает экземпляр.

  • insertRange

    Вставляет подмассив символов указанного значения в этот построитель строк по индексу и возвращает экземпляр.

  • set

    Устанавливает символ по указанному индексу в значение.

  • 1
  • 2332
  • 2333
  • 2334
  • 2335
  • 2336
  • 4091
  • Next

Замена символа в строке Python

Обзор

Строка — это неизменяемый тип данных, используемый для хранения последовательности символов Unicode. Для замены строки в Python у нас есть разные способы. Одним из наиболее широко используемых способов является использование встроенного метода Python string.replace().

Метод .replace() заменяет старый символ новым. Мы также можем использовать циклы для замены символа в строке в Python. Метод нарезки строк также можно использовать для замены строки в python. Модуль regex — это встроенный модуль Python, который можно использовать для замены строки Python.

Scope

В этой статье рассматриваются следующие темы:

  • Введение в строки в Python.
  • Различные подходы к замене символа в строке:
    • Использование метода Python String replace()
    • Заменить символ в строке с помощью цикла в python
    • Использование метода нарезки строк
    • Заменить символ в заданной позиции в строке, используя список
    • Использование модуля регулярных выражений Python

Каждая из тем четко объяснена с диаграммами и примерами, где это необходимо.

Как заменить символ в строке в Python?

Прежде чем перейти к различным подходам к замене символа в строке Python, давайте кратко обсудим строки в Python.

Строка — это неизменяемый тип данных, используемый для хранения последовательности символов Юникода. В Python нет символьного типа данных, поэтому даже один символ рассматривается как строка длиной 1. Строки — один из наиболее широко используемых типов данных любого языка программирования. Строка в Python может быть легко создана с использованием кавычек (как одинарных, так и двойных).

Пример : string = Scaler Topics или Пример : string = Scaler Topics

Теперь давайте рассмотрим пример, чтобы понять, что означает замена символа в строке в Python:

Данная исходная строка = плохо. Нам нужно заменить символ d на символ t. Итак, новая строка становится bat.

В Python это можно сделать несколькими способами:

  • Использование метода замены строки()
  • Использование циклов
  • Использование нарезки строк
  • Использование списка
  • Использование регулярных выражений (regex)

Мы подробно рассмотрим каждый из этих методов в следующем разделе.

Метод 1: Замена строки Python

Мы можем использовать встроенный метод Python string.replace() для замены строки в python.

Давайте кратко обсудим метод replace() перед реализацией.

string.replace() — это встроенный метод, связанный со строками в Python. Он заменяет все вхождения определенной подстроки из строки, вызывающей метод, и возвращает копию замененной строки.

Синтаксис метода replace() очень прост:

 
 string.replace(old_string, new_string, counter)
 

Здесь old_string — это строка, которую мы хотим заменить. new_string — это строка, которая заменит старую строку. Счетчик — это необязательный параметр, который сообщает интерпретатору Python, сколько раз old_string нужно заменить на new_string.

Как уже говорилось выше, метод string.replace() возвращает копию измененной строки. Это не изменяет исходную строку.

Если мы не указали, сколько раз должна выполняться замена (счетчик не указан), то все вхождения old_sting заменяются на new_string. Узнайте больше о методе replace() здесь.

Посмотрим на реализацию.

 
 old_string = "плохой"
новая_строка = "т"
результирующая_строка = старая_строка.заменить("d", новая_строка)
печать (результирующая_строка)
 

Вывод:

В приведенном выше коде мы заменили символ d на символ t. После замены новая строка сохраняется в replace_string и мы ее печатаем.

Метод 2: Замена символа в строке с помощью цикла в Python

Мы также можем использовать циклы для замены символа в строке в Python.

Цикл — это условный итеративный оператор , который проверяет определенные условия перед повторным выполнением оператора, присутствующего в теле цикла. У нас есть цикл for и цикл while в Python.

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

Давайте посмотрим на реализацию для лучшего понимания.

 
 original_string = "плохой"
# ``d`` нужно заменить другим символом
replace_character = "д"
# ``t`` заменит ``d`
новый_символ = "т"
# пустая строка для сохранения результата
результирующая_строка = ""
для символа в original_string:
    если символ == замененный_символ:
        результирующая_строка += новый_символ
    еще:
        результирующая_строка += символ

печать (результирующая_строка)
 

Вывод :

В приведенном выше коде мы заменили символ d на символ t. После замены новая строка сохраняется в replace_string и мы ее печатаем.

Метод 3: использование метода нарезки

Нарезка строки — это операция, с помощью которой мы можем получить подстроку строки, используя индексы строки. Метод нарезки используется для доступа к различным частям или последовательностям строки.

Синтаксис для нарезки в python:

 
 строка[начальный_индекс : стоп_индекс]
 

Или

 
 строка [начальный_индекс : стоп_индекс : шаги]
 

Здесь начальный_индекс — это индекс, с которого начинается нарезка, а стоп_индекс — это индекс, с которого нарезка должна быть остановлена. Мы также можем указать количество приращений между каждым индексом для нарезки, используя необязательные шаги параметра.

Используя метод нарезки, мы можем выбрать символ, который нужно заменить, нарезав исходную строку. После нарезки мы можем легко заменить нужный символ новым персонажем.

Давайте посмотрим на реализацию для лучшего понимания.

 
 original_string = "плохой"
"""
замененный символ - d, и он присутствует во 2-м индексе, поэтому сохраняет его индекс для будущей замены
"""
индекс = 2
# ``t`` заменит ``d`
новый_символ = "т"
исходная_строка = исходная_строка[:индекс] + новый_символ + исходная_строка[индекс + 1:]
печать (исходная_строка)
 

Выход :

 летучая мышь
 

Метод 4: заменить символ в заданной позиции в строке с помощью списка

Список используется для хранения одного или нескольких объектов или элементов данных. Списки используются в основном в python и java. Можно сказать, что списки похожи на массивы. Список — это изменяемая структура данных.

Мы можем преобразовать строку в список, а затем заменить старый символ по определенному индексу новым символом. После замены мы можем преобразовать новый список в строку, используя метод list.join(), чтобы снова сформировать результирующую строку.

Давайте посмотрим на реализацию для лучшего понимания.

 
 исходная_строка = "плохо"
"""
замененный символ - d, и он присутствует во 2-м индексе, поэтому сохраняет его индекс для будущей замены
"""
индекс = 2
# ``t`` заменит ``d`
новый_символ = "т"
# преобразование строки в список
перечисленная_строка = список (исходная_строка)
# замена символа по индексу новым символом
перечисленная_строка[индекс] = новый_символ

# снова конвертируем список в строку и печатаем его
печать ("". Присоединиться (listed_string))
 

Выход :

В приведенном выше коде мы заменили символ d на символ t. После замены новая строка печатается путем преобразования списка в строку с помощью метода join().

Метод 5: Модуль регулярных выражений Python

Модуль регулярных выражений используется для обработки текстовых данных и выполнения таких операций, как поиск подстроки, замена строки и подобные операции. Модуль regex — это встроенный модуль Python, который можно использовать для замены строка Python. (Узнайте больше о регулярных выражениях в Python здесь)

Для этого можно использовать метод re.sub().

Синтаксис метода re.sub():

 
 re.sub(old_pattern, new_pattern, original_pattern)
 

Метод re.sub() этого модуля принимает три параметра, а именно — строку или шаблон, который необходимо заменить (old_pattern), новую строку или символ, который заменит старый шаблон (new_pattern), и исходная строка, над которой должна быть выполнена операция (original_pattern).

Давайте посмотрим на реализацию для лучшего понимания.

 
 импорт
original_string = "плохо"
# ``d`` нужно заменить другим символом
старый_символ = "д"
# ``t`` заменит ``d`
новый_символ = "т"
результирующая_строка = re. sub(старый_символ, новый_символ, исходная_строка)

печать (результирующая_строка)
 

Вывод :

В приведенном выше коде мы заменили символ d на символ t. После замены новая строка сохраняется в replace_string и мы ее печатаем.

Заключение

  • Строка — это неизменяемый тип данных, используемый для хранения последовательности символов Unicode.
  • Мы можем использовать встроенный метод Python string.replace() для замены строки в python.
  • Мы также можем использовать циклы для замены символа в строке в Python.
  • Метод нарезки строк также можно использовать для замены строки в python. Мы можем выбрать символ, который нужно заменить, разрезав исходную строку. После нарезки мы можем легко заменить нужный символ новым персонажем.
  • Мы можем преобразовать строку в список, а затем заменить старый символ по определенному индексу новым символом.
  • Мы также можем использовать модуль regex, который является встроенным модулем Python, который можно использовать для замены строки Python.
  • string.replace() — один из лучших способов заменить строку в python.

Подробнее:

  • Сравнение строк в Python.
  • Конкатенация строк.
  • Функция разделения строк.
  • Строка в JSON Python.

Pandas Заменить подстроку в DataFrame

Вы можете узнать, как заменить подстроку в столбце pandas DataFrame, используя DataFrame.replace() с функциями lambda . В этой статье я объясню, как заменить подстроку в столбце DataFrame несколькими примерами.

  • Заменить подстроку другой подстрокой в ​​pandas.
  • Замените шаблон подстроки другой подстрокой, используя регулярное выражение.

1. Краткие примеры замены подстроки

Если вы спешите, ниже приведены несколько кратких примеров замены подстроки в столбце pandas DataFrame.

# Ниже приведены несколько быстрых примеров.
# Заменить подстроку
df2 = df.replace('Py','Python с ', regex=True)
# Заменить подстроку
df2 = df. replace('Py','Python с ', regex=True)
# Заменить несколько подстрок
df2 = df.replace({'Курсы': 'Py', 'Продолжительность': 'дни'},
    {'Курсы': 'Python with', 'Продолжительность': 'Дни'}, регулярное выражение = True)
# Заменить шаблон подстроки с помощью регулярного выражения.
df2 = df.replace (regex = ['Язык'], значение = 'Язык')
# Использование str.replace()
df['Курсы'] = df['Курсы'].str.replace('Язык','Язык')
# Замените SubString с помощью функции apply() на лямбду.
df2 = df.apply(лямбда x: x.replace(
    {'Py':'Python with', 'Language':'Lang'},
    регулярное выражение = Истина))
 

Теперь давайте создадим кадр данных pandas с несколькими строками и столбцами, выполним эти примеры и проверим результаты. Наш DataFrame содержит имена столбцов Курсы , Плата и Продолжительность .

# Создаем кадр данных pandas.
импортировать панд как pd
импортировать numpy как np
технологии = {
    «Курсы»: ["Spark","PySpark","Spark","Язык Java","PySpark","Язык PHP"],
    «Плата»: [22000,25000,23000,24000,26000,27000],
    «Продолжительность»: ['30дней','50дней','30дней','60дней','35дней','30дней']
          }
df = pd. DataFrame(технологии)
печать (дф)
 

Выход ниже выходного.

         Курсы Стоимость Продолжительность
0 Искра 22000 30 дней
1 PySpark 25000 50 дней
2 Искра 23000 30дней
3 языка Java 24000 60дней
4 PySpark 26000 35дней
5 Язык PHP 27000 30дней
 

2. Заменить подстроку с помощью метода replace()

Вы можете заменить подстроку столбца pandas DataFrame с помощью метода DataFrame.replace(). Этот метод по умолчанию находит точное соответствие строки и заменяет его указанным значением. Используйте regex=True для замены подстроки.

# Заменить подстроку
df2 = df.replace('Py','Python с ', regex=True)
печать (df2)
 

Выход ниже выходного. В приведенном выше примере значение подстроки Py заменено на Python в столбце Courses .

             Курсы Стоимость Продолжительность
0 Искра 22000 30 дней
1 Python со Spark 25000 50 дней
2 Искра 23000 30дней
3 языка Java 24000 60дней
4 Python со Spark 26000 35 дней
5 Язык PHP 27000 30дней
 

Этот метод возвращает новый кадр данных после замены подстроки. Используйте inplace=True для замены существующего объекта DataFrame.

3. Замена нескольких подстрок

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

# Заменить несколько подстрок
df2 = df.replace({'Курсы': 'Py', 'Продолжительность': 'дни'},
    {'Курсы': 'Python with', 'Продолжительность': 'Дни'}, регулярное выражение = True)
печать (df2)
 

Выход ниже выходного.

            Курсы Стоимость Продолжительность
0 Искра 22000 30 дней
1 Python со Spark 25000 50 дней
2 Искра 23000 30 дней
3 Язык Java 24000 60 дней
4 Python со Spark 26000 35 дней
5 Язык PHP 27000 30 дней
 

4. Замена шаблона подстроки с помощью регулярного выражения

Используя регулярное выражение, вы можете заменить совпадающую подстроку другой строкой. Примеры ниже находят строку Language и замените его на Lang .

# Заменить шаблон подстроки с помощью регулярного выражения. 
df2 = df.replace (regex = ['Язык'], значение = 'Язык')
печать (df2)
 

Выход ниже выходного.

     Курсы Стоимость Продолжительность
0 Искра 22000 30 дней
1 PySpark 25000 50 дней
2 Искра 23000 30дней
3 JavaLang 24000 60дней
4 PySpark 26000 35дней
5 PHP Ланг 27000 30дней
 

5. С помощью str.replace() в DataFrame

9.

# Используя функцию str.replace()
df['Курсы'] = df['Курсы'].str.replace('Язык','Язык')
печать (дф)
 

Выдает тот же результат, что и выше. Обратите внимание, что это заменяет значение в столбце Courses в существующем объекте DataFrame.

6. Заменить подстроку с помощью функции apply() на лямбду

В этом разделе вы можете узнать, как заменить подстроку с помощью DataFrame.apply() и функции lambda . Метод apply() позволяет вам применить функцию вместе с одной из осей DataFrame. В приведенном ниже примере заменяется несколько подстрок.

# Замените SubString с помощью функции apply() на лямбду. 
df2 = df.apply(lambda x: x.replace({'Py':'Python with', 'Language':'Lang'}, regex=True))
печать (df2)
 

Выход ниже выходного.

            Курсы Стоимость Продолжительность
0 Искра 22000 30 дней
1 Python со Spark 25000 50 дней
2 Искра 23000 30дней
3 JavaLang 24000 60дней
4 Python со Spark 26000 35 дней
5 PHP Ланг 27000 30дней
 

7. Полный пример панд Заменить подстроку

 # Создаем кадр данных pandas.
импортировать панд как pd
импортировать numpy как np
технологии = {
 «Курсы»: ["Spark","PySpark","Spark","Язык Java","PySpark","Язык PHP"],
 «Плата»: [22000,25000,23000,24000,26000,27000],
 «Продолжительность»: ['30дней','50дней','30дней','60дней','35дней','30дней']
 }
df = pd.DataFrame(технологии)
печать (дф)
# Заменить подстроку
df2 = df.replace('Py','Python с ', regex=True)
печать (df2)
# Заменить подстроку
df2 = df.replace('Py','Python с ', regex=True)
печать (df2)
# Заменить несколько подстрок
df2 = df.replace({'Курсы': 'Py', 'Продолжительность': 'дни'},
 {'Курсы': 'Python with', 'Продолжительность': 'Дни'}, регулярное выражение = True)
печать (df2)
# Заменить шаблон подстроки с помощью регулярного выражения.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *