Given a string, the task is to write a Python program to count the number of spaces in the string.
Examples:
Input: "my name is geeks for geeks" Output: number of spaces = 5 Input: "geeksforgeeks" Output: number of spaces=0
Approach:
- Input string from the user
- Initialize count variable with zero
- Run a for loop i from 0 till the length of the string
- Inside for loop, check if s[i] == blank, then increment count by 1
- Outside for loop, print count
Example 1:
Python3
def
check_space(string):
count
=
0
for
i
in
range
(
0
,
len
(string)):
if
string[i]
=
=
" "
:
count
+
=
1
return
count
string
=
"Welcome to geeksforgeeks"
print
(
"number of spaces "
,check_space(string))
Output:
number of spaces 2
Example 2:
Python3
def
check_space(string):
count
=
0
for
i
in
string:
if
i
=
=
" "
:
count
+
=
1
return
count
string
=
"Welcome to geeksforgeeks, Geeks!"
print
(
"number of spaces "
,check_space(string))
Output:
number of spaces 3
Example 3: Using the count() function.
Python3
def
check_space(Test_string):
return
Test_string.count(
" "
)
if
__name__
=
=
"__main__"
:
Test_string
=
"Welcome to geeksforgeeks, Geeks!"
print
(f
"Number of Spaces: {check_space(Test_string)}"
)
Output:
Number of Spaces: 3
The time and space complexity for all the methods are the same:
Time Complexity: O(n)
Auxiliary Space: O(n)
Example 4: Using isspace() function in python3
Python3
string
=
"Welcome to geeksforgeeks"
c
=
0
for
i
in
string:
if
(i.isspace()):
c
+
=
1
print
(
"Number of Spaces : "
+
str
(c))
Output
Number of Spaces : 2
Example 5: Using Counter() function
Python3
from
collections
import
Counter
def
check_space(string):
freq
=
Counter(string)
return
freq[
' '
]
string
=
"Welcome to geeksforgeeks"
print
(
"number of spaces "
, check_space(string))
Time Complexity: O(n)
Auxiliary Space: O(n)
Example #6: Using operator.countOf() method:
Python3
import
operator as op
def
check_space(Test_string):
return
op.countOf(Test_string,
" "
)
if
__name__
=
=
"__main__"
:
Test_string
=
"Welcome to geeksforgeeks, Geeks!"
print
(f
"Number of Spaces: {check_space(Test_string)}"
)
Output
Number of Spaces: 3
Time complexity: O(n)
Auxiliary Space: O(1)
Example #7: Using Recursion
Python3
def
check_space(string,c,i):
if
i
=
=
len
(string):
return
c
if
string[i]
=
=
" "
:
c
+
=
1
return
check_space(string,c,i
+
1
)
string
=
"Welcome to geeksforgeeks"
print
(
"number of spaces "
, check_space(string,
0
,
0
))
Time complexity: O(n)
Auxiliary Space: O(n)
Example #8: Using reduce():
1.Import the reduce function from the functools module.
2.Define a function named “check_space_reduce” that takes a string as input.
3.Within the function, use the reduce function to iterate through the string and count the number of spaces in the string.
4.The reduce function uses a lambda function that takes two arguments: the current count of spaces and the current character in the string. If the 5.current character is a space, the lambda function returns the current count plus 1, otherwise it returns the current count.
6.The reduce function initializes the count to 0 and iterates through the characters in the string, applying the lambda function at each step and 7.returning the final count of spaces.
8.Return the count of spaces from the function.
9.In the main function, define a test string.
10.Call the “check_space_reduce” function with the test string as an argument and store the result in a variable named “spaces”.
11.Print the number of spaces in the test string using an f-string.
Python3
from
functools
import
reduce
def
check_space_reduce(Test_string):
return
reduce
(
lambda
x, y: x
+
(
1
if
y
=
=
" "
else
0
), Test_string,
0
)
if
__name__
=
=
"__main__"
:
Test_string
=
"Welcome to geeksforgeeks"
print
(f
"Number of Spaces: {check_space_reduce(Test_string)}"
)
Output
Number of Spaces: 2
The time complexity : O(n), where n is the length of the input string. This is because the reduce() function iterates through each character in the string exactly once and performs a constant amount of work for each character, and thus the time complexity is linear in the length of the input string.
The space complexity : O(1), as the only space used by the program is a constant amount of memory to store the variable “spaces”, which holds the count of spaces in the string. Since the memory usage does not depend on the size of the input string, the space complexity is constant or O(1). Note that the lambda function used inside the reduce() function does not create any additional data structures or use any additional memory that would affect the space complexity.
Last Updated :
22 Feb, 2023
Like Article
Save Article
Нужно посчитать кол-во пробелов в строке. Не могу понять что и как. Застрял на вводе самой строки. Выводится лишь первое слово.
#include <iostream>
#include <string.h>
using namespace std;
void main() {
setlocale(LC_ALL, "rus");
char str[140];
cout<<"Введите ваш текст:n";
cin>>str;
cout<<str<<endl;
system("pause");
}
Kromster
13.5k12 золотых знаков43 серебряных знака72 бронзовых знака
задан 22 дек 2013 в 18:11
aciderntacidernt
2,86212 золотых знаков56 серебряных знаков103 бронзовых знака
9
Используйте std::getline
чтобы прочитать всю строку:
#include <iostream>
#include <string>
#include <locale>
#include <algorithm>
int main() {
std::setlocale(LC_ALL, "");
std::cout << "Введите ваш текст:n";
std::string str;
std::getline(std::cin, str);
std::cout << std::count(str.begin(), str.end(), ' ') << 'n';
}
ответ дан 21 дек 2015 в 13:23
orbaki 110 / 1 / 2 Регистрация: 10.12.2015 Сообщений: 93 |
||||
1 |
||||
Подсчитать количество пробелов в строке19.02.2016, 23:22. Показов 12564. Ответов 9 Метки нет (Все метки)
Задание : Вводится строка. Подсчитать количество пробелов в строке. Не понимаю как мне счетчик завести. Нужно 2 варианта решения :
0 |
nmcf 7525 / 6391 / 2913 Регистрация: 14.04.2014 Сообщений: 27,832 |
||||
19.02.2016, 23:27 |
2 |
|||
1 |
S_el 2434 / 1834 / 404 Регистрация: 15.12.2013 Сообщений: 8,195 |
||||
19.02.2016, 23:34 |
3 |
|||
orbaki, почему вы не пользуетесь стандартными средствами?
http://ideone.com/GiGWQh Добавлено через 1 минуту
2 |
7525 / 6391 / 2913 Регистрация: 14.04.2014 Сообщений: 27,832 |
|
19.02.2016, 23:48 |
4 |
std::cin считает строку ДО пробельного символа Пропустил.
0 |
110 / 1 / 2 Регистрация: 10.12.2015 Сообщений: 93 |
|
20.02.2016, 00:42 [ТС] |
5 |
я просто не понимаю ваш стилб зачем каждый раз писать std если есть using namespace std
0 |
2434 / 1834 / 404 Регистрация: 15.12.2013 Сообщений: 8,195 |
|
20.02.2016, 00:45 |
6 |
я просто не понимаю ваш стилб зачем каждый раз писать std если есть using namespace std чтобы однозначно понимать с чем имеешь дело.
0 |
Модератор 5148 / 2327 / 339 Регистрация: 20.02.2013 Сообщений: 5,718 Записей в блоге: 20 |
|
21.02.2016, 18:07 |
7 |
0 |
2833 / 1642 / 254 Регистрация: 03.12.2007 Сообщений: 4,222 |
|
21.02.2016, 19:07 |
8 |
Вообще говоря, я тоже не понимаю, почему бы в таком коде не написать using namespace. Всему своё место и время. А то, может быть, тогда ещё документацию написать, тесты сделать? А где ТЗ вообще?..
1 |
Модератор 5148 / 2327 / 339 Регистрация: 20.02.2013 Сообщений: 5,718 Записей в блоге: 20 |
|
21.02.2016, 20:16 |
9 |
Somebody, есть просто хорошие привычки, которые лучше сразу вырабатывать.
0 |
Croessmah |
22.02.2016, 00:57
|
Не по теме:
Вообще говоря, я тоже не понимаю, почему бы в таком коде не написать using namespace. «Вообще говоря, не понимаем, зачем в такой стране хороший автопром» (c) Инженеры ОАО «АВТОВАЗ»
0 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
22.02.2016, 00:57 |
Подсчитать наибольшее количество идущих подряд пробелов в строке Подсчитать в строке количество гласных, согласных, знаков препинания, пробелов Массив символов (Подсчитать количество слов в строке, при условии, что в качестве разделителя слов используется один или несколько пробелов) Дан текст, в котором слова разделены одним пробелом. а) Подсчитать количество слов в данной строке. б) Подсчитать количество букв а в последнем слове В заданной строке определить количество слов (в строке может содержаться несколько пробелов подряд). Подсчитать количество двойных пробелов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: 10 |
Python предлагает несколько эффективных и простых в использовании способов посчитать количество пробелов в строке. В этой статье мы рассмотрим различные подходы и представим примеры кода для каждого из них.
Метод count()
Один из наиболее прямых способов подсчета пробелов в строке — использование встроенного метода count()
. Этот метод принимает подстроку в качестве аргумента и возвращает количество вхождений этой подстроки в строку.
s = "Пример строки с несколькими пробелами." print(s.count(' ')) #4
В этом примере метод count()
ищет пробелы (‘ ‘) в строке s
и возвращает их количество.
Использование цикла for
Если вы не хотите использовать встроенные методы, можно использовать цикл for
для прохода по всем символам строки и подсчета пробелов.
s = "Пример строки с несколькими пробелами." spaces = 0 for char in s: if char == ' ': spaces += 1 print(spaces) #4
В этом примере мы проходим через каждый символ в строке s
, и каждый раз, когда встречаем пробел, увеличиваем счетчик spaces
.
Использование генераторов списков
Генераторы списков — это удобный инструмент Python, который позволяет создавать списки на лету. Они могут быть использованы для подсчета пробелов в строке.
s = "Пример строки с несколькими пробелами." spaces = sum([1 for char in s if char == ' ']) print(spaces) #4
Здесь генератор списка создает список, содержащий 1 для каждого пробела в строке. Функция sum()
затем суммирует все единицы в списке, что дает общее количество пробелов.
Использование метода split()
Еще один способ подсчета пробелов в строке — использование метода split()
. Этот метод разбивает строку на подстроки, используя пробелы в качестве разделителей, и возвращает список этих подстрок.
s = "Пример строки с несколькими пробелами." spaces = len(s.split()) - 1 print(spaces) #4
Метод split()
возвращает список подстрок, поэтому количество пробелов равно количеству подстрок минус 1.
Заключение
Работа со строками является общей задачей при программировании на Python, и подсчет пробелов в строке — это только одна из многих операций, которые можно выполнить. Python предлагает множество инструментов и методов для эффективной работы со строками, и надеюсь, что примеры в этой статье помогут вам использовать эти инструменты более эффективно.
Обзор PHP-функций для работы со строками и практическое их применение с учетом кодировки UTF-8.
1
Количество символов
Получить длину строки
Функция strlen($string) возвращает длину строки, но возвращает неправильный результат если в строке есть кириллица в UTF-8, поэтому нужно использовать mb_strlen()
.
$text = 'Съешь ещё - этих мягких французских булок, да выпей же чаю.';
echo strlen($text); // 105
echo mb_strlen($text); // 59
PHP
Количество символов без пробелов
$text = 'Съешь ещё - этих мягких французских булок, да выпей же чаю.';
$str = mb_ereg_replace('[s]', '', $text);
echo mb_strlen($str); // 49
PHP
Количество слов с строке
Функция str_word_count() возвращает количество слов в строке, но символы обрамленные пробелами будет считаться за слово, например « — ». Так же функция не работает с UTF-8, как видно в примере:
$text = 'Lorem Ipsum - is simply dummy!';
echo str_word_count($text); // 6
$text = 'Съешь ещё - этих мягких французских булок, да выпей же чаю.';
echo str_word_count($text); // 1
PHP
Рабочий вариант:
$text = 'Съешь ещё - этих мягких французских булок, да выпей же чаю.';
$str = preg_replace("/[[:punct:]]/", '', $text);
$str = mb_ereg_replace('[s]+', ' ', $str);
$words = explode(' ', $str);
echo count($words); // 10
PHP
Получить количество переносов в строке
$text = 'Съешь ещё - этих
мягких французских булок,
да выпей же чаю.';
echo substr_count($text, PHP_EOL); // 2
PHP
Количество букв в строке
$text = 'Съешь ещё этих мягких французских булок, да выпей же чаю.';
echo $str = preg_replace('/[^a-zа-яё]/ui', '', $text);
echo mb_strlen($str); // 46
PHP
Количество цифр в строке
$text = 'Съешь ещё - этих мягких французских булок, да выпей же чаю.';
$str = preg_replace('/[^0-9]/ui', '', $text);
echo mb_strlen($str); // 0
PHP
Количество знаков препинания
$text = 'Съешь ещё - этих мягких французских булок, да выпей же чаю.';
$str = preg_replace("/[^[:punct:]]/", '', $text);
echo mb_strlen($str); // 3
PHP
Количество пробелов в строке
Или количество вхождений любого другого символа или подстроки.
$text = 'Съешь ещё - этих мягких французских булок, да выпей же чаю.';
echo substr_count($text, ' '); // 10
PHP
Количество пробелов в начале строки:
$text = ' Съешь ещё - этих мягких французских булок, да выпей же чаю.';
echo mb_strlen($text) - mb_strlen(ltrim($text, ' ')); // 5
PHP
Количество пробелов в конце строки:
$text = 'Съешь ещё - этих мягких французских булок, да выпей же чаю. ';
echo mb_strlen($text) - mb_strlen(rtrim($text, ' ')); // 3
PHP
2
Поиск
Получить количество вхождений подстроки
$text = 'Съешь ещё - этих мягких французских булок, да ещё выпей же чаю.';
echo mb_substr_count($text, 'ещё'); // 2
PHP
Найти позицию первого вхождения подстроки
$text = 'Съешь ещё - этих мягких французских булок, да ещё выпей же чаю.';
echo mb_strpos($text, 'ещё'); // 6
// Без учета регистра:
$text = 'Съешь ещё - этих мягких французских булок, да ещё выпей же чаю.';
echo mb_stripos($text, 'ещё'); // 6
PHP
Найти позицию последнего вхождения подстроки
$text = 'Съешь ещё - этих мягких французских булок, да ещё выпей же чаю.';
echo mb_strrpos($text, 'ещё'); // 46
// Без учета регистра:
$text = 'Съешь ещё - этих мягких французских булок, да ещё выпей же чаю.';
echo mb_strirpos($text, 'ещё'); // 46
PHP
Найти все вхождения подстроки
$text = 'Съешь ещё - этих мягких французских булок, да ещё выпей же чаю.';
$offset = 0;
$allpos = array();
while (($pos = mb_strpos($text, 'ещё', $offset)) !== false) {
$offset = $pos + 1;
$allpos[] = $pos;
}
print_r($allpos); // Array ([0] => 6 [1] => 46)
PHP
3
Извлечение из текста
Начало строки
Получить первый символ:
$text = 'Съешь ещё - этих мягких французских булок, да выпей же чаю.';
echo mb_substr($text, 0, 1); // С
PHP
Получить три первых символа:
$text = 'Съешь ещё - этих мягких французских булок, да выпей же чаю.';
echo mb_substr($text, 0, 3); // Съе
PHP
Получить первое слово:
$text = 'Съешь ещё - этих мягких французских булок, да выпей же чаю.';
echo mb_strstr($text, ' ', true); // Съешь
PHP
Получить все после первого слова:
$text = 'Съешь ещё - этих мягких французских булок, да выпей же чаю.';
echo mb_strstr($text, ' ', false); // ещё - этих мягких французских булок, да выпей же чаю.
PHP
Конец строки
Получить последний символ:
$text = 'Съешь ещё - этих мягких французских булок, да выпей же чаю.';
echo mb_substr($text, -1, 1); // .
PHP
Получить три последних символа:
$text = 'Съешь ещё - этих мягких французских булок, да выпей же чаю.';
echo mb_substr($text, -1, 3); // аю.
PHP
Получить последнее слово:
$text = 'Съешь ещё - этих мягких французских булок, да выпей же чаю.';
$array = explode(' ', $text);
echo end($array); // чаю.
PHP
Получить всё до последнего слова:
$text = 'Съешь ещё - этих мягких французских булок, да выпей же чаю.';
$str = mb_substr($text, 0, mb_strrpos($text, ' '));
echo $str; // Съешь ещё - этих мягких французских булок, да выпей же
PHP
Середина строки
Получить второе слово:
$text = 'Съешь ещё - этих мягких французских булок, да выпей же чаю.';
$array = explode(' ', $text);
echo $array[1]; // ещё
PHP
Получить текст до дефиса:
$text = 'Съешь ещё - этих мягких французских булок, да выпей же чаю.';
echo mb_substr($text, 0, mb_strpos($text, ' - ')); // Съешь ещё
PHP
Получить текст после дефиса:
$text = 'Съешь ещё - этих мягких французских булок, да выпей же чаю.';
$str = mb_substr($text, mb_strpos($text, ' - ') + mb_strlen(' - '), -1);
echo $str; // этих мягких французских булок, да выпей же чаю
PHP
Переносы строк
Получить первую строку:
$text = 'Разнообразный опыт укрепление и развитие структуры требуют
определения направлений прогрессивного развития! Не следует забывать,
что постоянный рост и сфера активности в степени обуславливает создание
системы обучения кадров? С другой стороны дальнейшее развитие различных
форм влечет за собой процесс внедрения и модернизации.';
$pos = mb_strpos($text, "n");
$str = trim(mb_substr($text, 0, $pos));
echo $str; // Разнообразный опыт укрепление и развитие структуры требуют
// или
$lines = explode("n", $text);
echo $lines[0]; // Разнообразный опыт укрепление и развитие структуры требуют
PHP
Получить последнюю строку:
$text = 'Разнообразный опыт укрепление и развитие структуры требуют
определения направлений прогрессивного развития! Не следует забывать,
что постоянный рост и сфера активности в степени обуславливает создание
системы обучения кадров? С другой стороны дальнейшее развитие различных
форм влечет за собой процесс внедрения и модернизации.';
$pos = mb_strrpos($text, "n");
$str = trim(mb_substr($text, $pos));
echo $str; // форм влечет за собой процесс внедрения и модернизации.
// или
$lines = explode("n", $text);
echo end($lines); // форм влечет за собой процесс внедрения и модернизации.
PHP
Пилучить символы из ковычек и скобок
$text = ''Съешь' "ещё" «этих» [мягких] (французских) {булок} <да>';
// '...'
preg_match_all("/'(.+?)'/", $text, $matches);
echo $matches[1][0]; // Съешь
// "..."
preg_match_all("/"(.+?)"/", $text, $matches);
echo $matches[1][0]; // ещё
// «...»
preg_match_all("/«(.+?)»/", $text, $matches);
echo $matches[1][0]; // этих
// [...]
preg_match_all("/[(.+?)]/", $text, $matches);
echo $matches[1][0]; // мягких
// (...)
preg_match_all("/((.+?))/", $text, $matches);
echo $matches[1][0]; // французских
// {...}
preg_match_all("/{(.+?)}/", $text, $matches);
echo $matches[1][0]; // булок
// <...>
preg_match_all("/<(.+?)>/", $text, $matches);
echo $matches[1][0]; // да
PHP
4
Замена в строках
Функция substr_replace($search, $replace, $subject, $count) – заменяет часть строки, также не раотает с кирилицей в кодировке UTF-8, в библиатеке mb_string её нет, поэтому приходится использовать пользовольскую функцию:
if (!function_exists('mb_substr_replace')) {
function mb_substr_replace($original, $replacement, $position, $length)
{
$startString = mb_substr($original, 0, $position, 'UTF-8');
$endString = mb_substr($original, $position + $length, mb_strlen($original), 'UTF-8');
$out = $startString . $replacement . $endString;
return $out;
}
}
PHP
Заменить первый символ:
$text = 'Съешь ещё - этих мягких французских булок.';
echo mb_substr_replace($text, '!', 0, 1); // !ъешь ещё - этих мягких французских булок.
PHP
Заменить три первых символа:
$text = 'Съешь ещё - этих мягких французских булок.';
echo mb_substr_replace($text, '!!!', 0, 3); // !!!шь ещё - этих мягких французских булок.
PHP
Заменить последний символ:
$text = 'Съешь ещё - этих мягких французских булок.';
echo mb_substr_replace($text, '!', -1, 0); // Съешь ещё - этих мягких французских булок!
PHP
Заменить три последних символа:
$text = 'Съешь ещё - этих мягких французских булок.';
echo mb_substr_replace($text, '!!!', -3, 0); // Съешь ещё - этих мягких французских бул!!!
PHP
Замена символов и слов в строке
Для этой задачи подходит функция str_replace($search, $replace, $subject), которая работает со всеми кодировками.
Заменить пробелы:
$text = 'Съешь ещё - этих мягких французских булок.';
echo str_replace(' ', '-', $text); // Съешь-ещё---этих-мягких-французских-булок.
PHP
Заменить слово:
$text = 'Съешь ещё - этих мягких французских булок.';
echo str_replace('мягких', 'твердых', $text); // Съешь ещё - этих твердых французских булок.
PHP
Заменить всё до дефиса:
$text = 'Съешь ещё - этих мягких французских булок.';
$str = 'Не ешь' . mb_substr($text, mb_strpos($text, ' - '), -1);
echo $str; // Не ешь - этих мягких французских булок
PHP
Заменить всё после дефиса:
$text = 'Съешь ещё - этих мягких французских булок.';
$str = mb_substr($text, 0, mb_strpos($text, ' - ') + 3) . 'печенек';
echo $str; // Съешь ещё - печенек
PHP
5
Добавление в строки
Добавить строку после 10-го символа:
$text = 'Съешь ещё - этих мягких французских булок.';
$str = mb_substr_replace($text, '!!!', 10, 0);
echo $str; // Съешь ещё !!!- этих мягких французских булок.
PHP
Добавить перед словом:
$text = 'Съешь ещё - этих мягких французских булок.';
$str = str_replace(' ещё ', ' же ещё ', $text);
echo $str; // Съешь же ещё - этих мягких французских булок.
PHP
Добавить после слова:
$text = 'Съешь ещё - этих мягких французских булок.';
$str = str_replace(' ещё ', ' ещё немного ', $text);
echo $str; // Съешь ещё немного - этих мягких французских булок.
PHP
Вставить строку между всех символов
Для того чтобы вставить символ между всех символов в строке понадобится функция str_split($string) для пробразавания строки в массив, она также не работает с кирилицей. С версии PHP 7.4 появилась функция mb_str_split()
, для более ранних версий:
if (!function_exists('mb_str_split')) {
function mb_str_split($str, $l = 0) {
if ($l > 0) {
$ret = array();
$len = mb_strlen($str, "UTF-8");
for ($i = 0; $i < $len; $i += $l) {
$ret[] = mb_substr($str, $i, $l, "UTF-8");
}
return $ret;
}
return preg_split("//u", $str, -1, PREG_SPLIT_NO_EMPTY);
}
}
PHP
$text = 'Съешь ещё - этих мягких французских булок.';
$array = mb_str_split($text);;
$new = implode(' ', $array);
echo $new; // С ъ е ш ь е щ ё - э т и х м я г к и х ф р а н ц у з с к и х б у л о к .
PHP
Дописать строку до нужной длины
Функция str_pad($string, $length, $pad_string, $pad_type) дополняет строку другой строкой до заданной длины.
Версия функции для UTF-8:
if (!function_exists('mb_str_pad')) {
function mb_str_pad($input, $pad_length, $pad_string = ' ', $pad_type = STR_PAD_RIGHT)
{
$diff = strlen($input) - mb_strlen($input);
return str_pad($input, $pad_length + $diff, $pad_string, $pad_type);
}
}
PHP
Дописать стркуку слева:
$text = 'Привет Мир';
echo mb_str_pad($text, 20, '-', STR_PAD_LEFT); // ----------Привет Мир
PHP
Дописать строку справа:
$text = 'Привет Мир';
echo mb_str_pad($text, 20, '-', STR_PAD_RIGHT); // Привет Мир----------
PHP
Дописать строку с обеих сторон:
$text = 'Привет Мир';
echo mb_str_pad($text, 20, '-', STR_PAD_BOTH); // -----Привет Мир-----
PHP
6
Удаление из строк
Удаление в начале строки
Удалить первый символ:
$text = 'Съешь ещё - этих мягких французских булок, да выпей же чаю.';
$new = mb_substr($text, 1);
echo $new; // ъешь ещё - этих мягких французских булок, да выпей же чаю.
PHP
Удалить первые 3 символа:
$text = 'Съешь ещё - этих мягких французских булок, да выпей же чаю.';
$new = mb_substr($text, 3);
echo $new; // шь ещё - этих мягких французских булок, да выпей же чаю.
PHP
Удалить первое слово:
$text = 'Съешь ещё - этих мягких французских булок, да выпей же чаю.';
$new = mb_substr($text, mb_strpos($text, ' '));
echo $new; // ещё - этих мягких французских булок, да выпей же чаю.
PHP
Удаление в конце строки
Удалить последний символ:
$text = 'Съешь ещё - этих мягких французских булок, да выпей же чаю.';
$new = mb_substr($text, 0, -1);
echo $new; // Съешь ещё - этих мягких французских булок, да выпей же чаю
PHP
Удалить три последних символа:
$text = 'Съешь ещё - этих мягких французских булок, да выпей же чаю.';
$new = mb_substr($text, 0, -3);
echo $new; // Съешь ещё - этих мягких французских булок, да выпей же ч
PHP
Удалить последнее слово:
$text = 'Съешь ещё - этих мягких французских булок, да выпей же чаю.';
$new = mb_substr($text, 0, mb_strrpos($text, ' '));
echo $new; // Съешь ещё - этих мягких французских булок, да выпей же
PHP
Удаление подсторк
$text = 'Съешь ещё - этих мягких французских булок, да выпей же чаю.';
$new = str_replace(' мягких', '', $text);
echo $new; // Съешь ещё - этих французских булок, да выпей же чаю.
PHP
Удалить всё перед сиволом:
$text = 'Съешь ещё - этих мягких французских булок, да выпей же чаю.';
$new = strstr($text, '-');
echo $new; // - этих мягких французских булок, да выпей же чаю.
PHP
Удалить всё после сивола:
$text = 'Съешь ещё - этих мягких французских булок, да выпей же чаю.';
$new = strstr($text, '-', true);
echo $new; // Съешь ещё
// Второй вариант:
$pos = mb_strpos($text, '-');
$new = mb_substr($text, 0, $pos + 1);
echo $new; // Съешь ещё -
PHP