Функция trim
Функция trim удаляет пробелы с начала и конца строки. Может также удалять другие символы, если их указать вторым параметром.
Синтаксис
trim(строка, [символы]);
Пример
Давайте удалим пробелы по краям строки:
Результат выполнения кода:
Пример
Давайте удалим слеши по краям строки:
Результат выполнения кода:
Пример
Давайте удалим слеши и точки по краям строки:
Результат выполнения кода:
Пример
Функция удаляет любое количество указанных символов, если они стоят с краю:
Результат выполнения кода:
Пример
Можно указать диапазон символов с помощью двух точек ‘..’ . К примеру, укажем, что мы хотим удалить символы от ‘a’ до ‘d’ :
Результат выполнения кода:
Смотрите также
- функцию ltrim ,
которая удаляет пробелы слева - функцию rtrim ,
которая удаляет пробелы справа
Как удалить все пробелы из строки в Python?
Нагуглил функцию strip() , но она удаляет только первый и последний пробел, а мне нужно все. Например, если a = ‘ sd dfsdf dfsfs’ , то нужно получить a = ‘sddfsdfdfsfs’ . Есть ли такая функция или надо через цикл как-то делать?
Отслеживать
6,373 5 5 золотых знаков 25 25 серебряных знаков 56 56 бронзовых знаков
задан 8 сен 2014 в 15:19
187 2 2 золотых знака 5 5 серебряных знаков 12 12 бронзовых знаков
3 ответа 3
Сортировка: Сброс на вариант по умолчанию
a.replace(' ', '')
Отслеживать
ответ дан 8 сен 2014 в 15:20
4,676 16 16 серебряных знаков 15 15 бронзовых знаков
Спасибо, сейчас попробую.
8 сен 2014 в 15:21
strip() может удалить не только пробел, но и табы и другие символы, которые считаются пробелом, включая Юникодные пробелы, если strip() вызван для Юникодной строки:
>>> import string >>> string.whitespace '\t\n\x0b\x0c\r ' >>> string.whitespace.strip() '' >>> import sys >>> s = ''.join(unichr(i) for i in xrange(sys.maxunicode) if unichr(i).isspace()) >>> s[:15] u'\t\n\x0b\x0c\r\x1c\x1d\x1e\x1f \x85\xa0\u1680\u180e\u2000' >>> s.strip() u''
Поэтому аналог strip() , который удаляет пробел во всей строке: s = ».join(s.split()) .
Или, тоже самое, используя регулярные выражения: s = re.sub(r’\s+’, », s, flags=re.UNICODE) .
Или, в коде, где важна производительность, bytes.translate() может быть использован, чтобы удалить все стандартные ( string.whitespace в С локале) пробелы из ascii строки:
>>> b'a\tb\nc'.translate(None, b'\t\n\v\f\r ') 'abc'
String. Trim Метод
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает новую строку, в которой удалены все начальные и конечные вхождения заданного набора символов из текущей строки.
Перегрузки
Удаляет все начальные и конечные символы пробела из текущей строки.
Удаляет все начальные и конечные вхождения набора символов, заданного в виде массива, из текущей строки.
Удаляет все начальные и конечные экземпляры символа из текущей строки.
Trim()
Удаляет все начальные и конечные символы пробела из текущей строки.
public: System::String ^ Trim();
public string Trim ();
member this.Trim : unit -> string
Public Function Trim () As String
Возвращаемое значение
Строка, оставшаяся после удаления всех знаков пробела из начала и конца текущей строки. Если в текущем экземпляре невозможно усечь символы, метод возвращает текущий экземпляр без изменений.
Примеры
В следующем примере метод используется String.Trim() для удаления всех лишних пробелов из строк, введенных пользователем, перед их объединением.
using namespace System; void main() < Console::Write("Enter your first name: "); String^ firstName = Console::ReadLine(); Console::Write("Enter your middle name or initial: "); String^ middleName = Console::ReadLine(); Console::Write("Enter your last name: "); String^ lastName = Console::ReadLine(); Console::WriteLine(); Console::WriteLine("You entered '', '', and ''.", firstName, middleName, lastName); String^ name = ((firstName->Trim() + " " + middleName->Trim())->Trim() + " " + lastName->Trim())->Trim(); Console::WriteLine("The result is " + name + "."); > // The following is possible output from this example: // Enter your first name: John // Enter your middle name or initial: // Enter your last name: Doe // // You entered ' John ', '', and ' Doe'. // The result is John Doe.
using System; public class Example < public static void Main() < Console.Write("Enter your first name: "); string firstName = Console.ReadLine(); Console.Write("Enter your middle name or initial: "); string middleName = Console.ReadLine(); Console.Write("Enter your last name: "); string lastName = Console.ReadLine(); Console.WriteLine(); Console.WriteLine("You entered '', '', and ''.", firstName, middleName, lastName); string name = ((firstName.Trim() + " " + middleName.Trim()).Trim() + " " + lastName.Trim()).Trim(); Console.WriteLine("The result is " + name + "."); // The following is a possible output from this example: // Enter your first name: John // Enter your middle name or initial: // Enter your last name: Doe // // You entered ' John ', '', and ' Doe'. // The result is John Doe. > >
printf "Enter your first name: " let firstName = stdin.ReadLine() printf "Enter your middle name or initial: " let middleName = stdin.ReadLine() printf "Enter your last name: " let lastName = stdin.ReadLine() printfn $"\nYou entered '', '', and ''." let name = ((firstName.Trim() + " " + middleName.Trim()).Trim() + " " + lastName.Trim()).Trim() printfn $"The result is ." // The following is a possible output from this example: // Enter your first name: John // Enter your middle name or initial: // Enter your last name: Doe // // You entered ' John ', '', and ' Doe'. // The result is John Doe.
Module Example Public Sub Main() Console.Write("Enter your first name: ") Dim firstName As String = Console.ReadLine() Console.Write("Enter your middle name or initial: ") Dim middleName As String = Console.ReadLine() Console.Write("Enter your last name: ") Dim lastName As String = Console.ReadLine Console.WriteLine() Console.WriteLine("You entered '', '', and ''.", _ firstName, middleName, lastName) Dim name As String = ((firstName.Trim() + " " + middleName.Trim()).Trim() _ + " " + lastName.Trim()).Trim() Console.WriteLine("The result is " + name + ".") End Sub End Module ' The following is possible output from this example: ' Enter your first name: John ' Enter your middle name or initial: ' Enter your last name: Doe ' ' You entered ' John ', '', and ' Doe'. ' The result is John Doe.
Комментарии
Метод Trim удаляет из текущей строки все начальные и конечные пробелы. Каждая операция обрезки в начале и конце останавливается при обнаружении символа, не являющегося пробелом. Например, если текущая строка — «abc xyz», Trim метод возвращает «abc xyz». Чтобы удалить пробелы между словами в строке, используйте регулярные выражения .NET.
Trim Если метод удаляет символы из текущего экземпляра, этот метод не изменяет значение текущего экземпляра. Вместо этого он возвращает новую строку, в которой удаляются все начальные и конечные пробелы, найденные в текущем экземпляре.
Если текущая строка равна Empty или все символы в текущем экземпляре состоят из пробелов, метод возвращает Empty.
Символы пробелов определяются стандартом Юникода. Метод Trim удаляет все начальные и конечные символы, которые создают возвращаемое значение true при их передаче в Char.IsWhiteSpace метод.
Примечания для тех, кто вызывает этот метод
В платформа .NET Framework 3.5 с пакетом обновления 1 (SP1) и более ранних версиях хранится внутренний список символов пробелов, которые этот метод обрезает. Начиная с платформа .NET Framework 4, метод обрезает все пробелы в Юникоде (то есть символы, которые создают возвращаемое true значение при их передаче в IsWhiteSpace(Char) метод). Из-за этого изменения Trim() метод в платформа .NET Framework 3.5 с пакетом обновления 1 (SP1) и более ранних версиях удаляет два символа: ZERO WIDTH SPACE (U+200B) и ZERO WIDTH NO-BREAK SPACE (U+FEFF), которые Trim() метод в платформа .NET Framework 4 и более поздних версиях не удаляет. Кроме того, Trim() метод в платформа .NET Framework 3.5 с пакетом обновления 1 (SP1) и более ранних версиях не обрезает три символа пробела Юникода: МОНГОЛЬСКИЙ ГЛАСНЫЙ РАЗДЕЛИТЕЛЬ (U+180E), NARROW NO-BREAK SPACE (U+202F) и MEDIUM MATHEMATICAL SPACE (U+205F).
См. также раздел
- TrimEnd(Char[])
- TrimStart(Char[])
- IsWhiteSpace(Char)
Как удалить пробелы из строки в Python
Есть несколько способов удалить пробелы из строки в Python. Python String неизменяем, поэтому мы не можем изменить его значение. Любая функция, которая управляет строковым значением, возвращает новую строку, и мы должны явно назначить ее строке, иначе строковое значение не изменится.
Допустим, у нас есть пример строки, определенной как:
s = ' Hello World From Pankaj \t\n\r\tHi There '
Эта строка имеет разные типы пробелов, а также символы новой строки.
Давайте посмотрим на различные функции для удаления пробелов.
strip()
Строковая функция strip() удаляет начальные и конечные пробелы.
>>> s.strip() 'Hello World From Pankaj \t\n\r\tHi There'
Если вы хотите удалить только начальные или конечные пробелы, используйте вместо них функцию lstrip() или rstrip().
replace()
Мы можем использовать replace(), чтобы удалить все пробелы из строки. Эта функция также удалит пробелы между словами.
>>> s.replace(" ", "") 'HelloWorldFromPankaj\t\n\r\tHiThere'
join() с split()
Если вы хотите избавиться от всех повторяющихся пробелов и символов новой строки, вы можете использовать функцию join() с функцией string split().
>>> " ".join(s.split()) 'Hello World From Pankaj Hi There'
translate()
Если вы хотите избавиться от всех пробелов, а также от символов новой строки, вы можете использовать строковую функцию translate().
>>> import string >>> s.translate() 'HelloWorldFromPankajHiThere'

Python удаляет пробелы из строки с помощью Regex
Мы также можем использовать регулярное выражение для поиска пробелов и их удаления с помощью функции re.sub().
import re s = ' Hello World From Pankaj \t\n\r\tHi There ' print('Remove all spaces using RegEx:\n', re.sub(r"\s+", "", s), sep='') # \s matches all white spaces print('Remove leading spaces using RegEx:\n', re.sub(r"^\s+", "", s), sep='') # ^ matches start print('Remove trailing spaces using RegEx:\n', re.sub(r"\s+$", "", s), sep='') # $ matches end print('Remove leading and trailing spaces using RegEx:\n', re.sub(r"^\s+|\s+$", "", s), sep='') # | for OR condition
Remove all spaces using RegEx: HelloWorldFromPankajHiThere Remove leading spaces using RegEx: Hello World From Pankaj Hi There Remove trailing spaces using RegEx: Hello World From Pankaj Hi There Remove leading and trailing spaces using RegEx: Hello World From Pankaj Hi There