Извлечение подстроки из строки

Извлечение подстроки из строки выполняется с помощью функций:

string strstr(string haystack, string needle)

string stristr(string haystack, string needle)

string strchr(string haystack, string needle)

string strrchr(string haystack, string needle)

string substr(string string, int start [, int length])

string strtok(string arg1, string arg2)

Функция strstr() возвращает подстроку строки haystack, начиная с первого появления строки needle до конца строки (если символ не найден, функция возвращает false).

Функция stristr() делает то же самое, но регистр символов не учитывается.

Функция strchr() выполняет те же действия, что и первая функция, а функция strrchr() возвращает подстроку строки haystack, начиная с последнего появления строки needle до конца строки. Если строка needle не найдена в строке haystack, все функции возвращают false.

Функция substr() возвращает подстроку строки string, начиная с позиции start длиной length (или до конца строки, если параметр length не задан). Если start ³ 0, отсчет позиций начинается с начала строки (первая позиция строки равна 0), в противном случае – с конца строки.

Функция strtok() разбивает строку arg1 на лексемы (разделителями между лексемами служат символы строки arg2) и возвращает очередную лексему. Если лексем в строке больше нет, возвращается false. При первом вызове задаются оба параметра, при последующих вызовах – только второй параметр.

Пример 4.6.116. Использование функций strstr() и strrchr():

В следующем фрагменте программы определяются подстроки $str1 и $str2 строки $str, содержащее первое и последнее вхождение строки 'Ivan':

$str = 'Name: Ivanov Ivan Ivanovich'; // Проверяемая строка

// Получение подстроки, начинающейся

// с первого вхождения строки 'Ivan'

$str1 = strstr($str, 'Ivan');

// Получение подстроки, начинающейся

// с последнего вхождения строки 'Ivan'

$str2 = strrchr($str, 'Ivan');

// Вывод полученных подстрок

print "\n\$str1='$str1'";

print "\n\$str2='$str2'";

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

Пример 4.6.117. Использование функции substr():

В следующем фрагменте программы определяются подстроки $str1 и $str2 строки $str, начинающиеся с заданной позиции и заданной длины:

$str = 'Name: Ivanov Ivan Ivanovich'; // Проверяемая строка

// Получение подстроки длиной 6 символов,

// начиная с позиции 6

$str1 = substr($str, 6, 6);

// Получение подстроки, начиная с

// с позиции 9 от конца строки до конца строки

$str2 = substr($str, -9);

// Вывод полученных подстрок

print "\n\$str1='$str1'";

print "\n\$str2='$str2'";

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

Пример 4.6.118. Использование функции strtok():

Следующие предложения

// Исходная строка

$string = "This is\tthe example\nof token output";

// Первый вызов strtok()

$tok = strtok($string," \n\t");

// Вывод и получение остальных лексем в цикле

while ($tok)

{

echo "Word=$tok; ";

$tok = strtok(" \n\t");

}

выведут на экран строку


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: