Skip to main content

Метод Search::findText

Метод выполняет поиск строки с учетом и без учета регистра:

  • во всем документе;
  • в выбранном диапазоне;
  • в выбранном диапазоне ячеек;
  • в таблице.

Результат возвращается в виде диапазона Range, содержащего искомый фрагмент.

Если строка не обнаружена, возвращается пустой диапазон.

Внимание

Библиотеки Document API по умолчанию работают с документами используя английскую локализацию. Поэтому, при взаимодействии с документом через API, значения могут отличаться от отображаемых в интерфейсе редактора. Раздел Локализация документов содержит информацию о том, как работать с локализованными значениями.

Возможно использование следующих вариантов метода:


std::shared_ptr<Enumerator<Range>> findText(
const std::string& text,
CaseSensitive caseSensitive = CaseSensitive::No);

std::shared_ptr<Enumerator<Range>> findText(
const std::string& text,
const Range& range,
CaseSensitive caseSensitive = CaseSensitive::No);

std::shared_ptr<Enumerator<Range>> findText(
const std::string& text,
const CellRange& cellRange,
CaseSensitive caseSensitive = CaseSensitive::No);

std::shared_ptr<Enumerator<Range>> findText(
const std::string& text,
const Table& table,
CaseSensitive caseSensitive = CaseSensitive::No);

Параметры​

  • text – текст для поиска;
  • caseSensitive – регистр поиска , тип CaseSensitive;
  • range – диапазон поиска, тип Range;
  • cellRange – диапазон ячеек поиска, тип CellRange;
  • table – таблица для поиска, тип Table.

Пример​


// Поиск по всему документу, отображение результатов поиска
std::shared_ptr<Search> search = createSearch(document);
std::shared_ptr<Enumerator<Range>> searchResult = search->findText("API");
while (searchResult->isValid())
{
Range range = searchResult->getCurrent();
.....................................
searchResult->goToNext();
}

Дополнительные примеры использования метода Search::findText приведены в разделе Поиск в документе.