Как извлечь первое слово из текстовой строки

 

Функции обработки строк созданы с ориентацией на символы. Они умеют подсчитывать символы, но не понимают, что такое слово пли предложение.

 

Единственный способ обойти это ограничение — применить функцию Instr ( ), которая ищет один или несколько символов в текстовой строке. (Название Instr ( ) — это сокращение от "in string", поскольку вы ищите конкретные символы внутри текстовой строки.) Для поиска символов "he" с строке "Hi There" нужно применить функцию Instr ( ) следующим образом:

Instr("Hi  There",   "he")

Результат равен 5, потому что текст "he" начинается с пятой символьной позиции. Если программа Access не находит совпадения, функция Instr ( ) возвращает 0. Если же есть множественные совпадения, Instr () возвращает позицию первого.

Сама по себе эта функция не очень полезна в условиях отбора и вычисляемых полях. Но ее можно использовать в сочетании с другими функциями, такими как Mid ( ) и Left ( ), для вырезания части строки, расположенной рядом с какой-либо буквой. Можно применить функцию Instr ( ) для поиска первого пробела и вырезать весь текст до этого пробела. Таким образом, вы извлечете целое слово.

Далее приведено слегка ошеломляющее вычисляемое поле, которое получает первое слово из поля ProductName с помощью вложенных функций (см. разд. "Вложенные функции" ранее в этой главе). Оно разбито на несколько строк для того, чтобы разместить его на странице книги. Когда будете его набирать, поместите все выражение в одну строку.

FirstWordProduct:

Left([ProductName],   Instr([ProductName],    ""- 1))

Это выражение переводится следующим образом: "Найди позицию первого пробела, вычти единицу и извлеки все символы слева от пробела". Вычислите это поле для значения Banana Cream Fudge и вы получите вырезанный текст Banana, что выглядит как впечатляющий яркий трюк.

 

Рис. 7.7. Функции Left ( ), Right ( ) и Mid ( ) действуют во многом аналогично ключевому слову Like, помогая найти совпадения кусочков длинной текстовой строки

 

 

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

3 коммент. »

 
  • Дарья says:

    Здесь сказано как выцепить первое слово…а как извлечь слово допустим из середины? А точнее даже фразу от первого пробела до последнего С использованием mid…

  • Toma says:

    Вот небольшой пример:

    Dim MyString, FirstWord
    MyString = “Mid Function Demo”
    ‘ Создать текстовую строку.
    FirstWord = Mid(MyString, Instr (MyString, ” “) )
    ‘ фраза от первого пробела до конца строки (включая первый пробел)

    Вот еще по функциям.

  • Дарья says:

    Спасибо, это может помочь))))

 

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100