Метод 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 приведены в разделе Поиск в документе.