LINUX.ORG.RU

[Qt4] Какая функция из библиотеки QString разбивает строку на слова?


0

1

Здраствуйте, ув. программисты. Подскажите пожалуйста: какие ф-и от бибилиотеки QString разбивают строку на слова и помогают обрабатывать их. Суть задания, что мне надо найти в тексте все слова, которые употребляются 1 раз и то которое там используется наибольшее количество раз. Сначала я открываю файл и загружаю его в строку(поток): QString fileName;

QFile openFile;

if(str.isEmpty())

fileName = QFileDialog::getOpenFileName(this,«Open file»);

else

fileName = str;

openFile.setFileName(fileName);

if(openFile.exists(fileName))

{

openFile.open(QIODevice::ReadOnly);

QTextStream stream(&openFile);

QString text(stream.readAll());

Теперь я хочу разбить его на слова и по алгоритму обработать его для выполнения задания. Вопрос в том, что существует ли такая ф-я, если нет, то каким наилучшим методом его выполнить?

для начала нужно научиться правильно оформлять топик.

mono ★★★★★ ()
Ответ на: комментарий от flareguner

Во-первых есть три вида ф-и count

int count ( const QString & str, Qt::CaseSensitivity cs = Qt::CaseSensitive ) const int count ( QChar ch, Qt::CaseSensitivity cs = Qt::CaseSensitive ) const int count ( const QRegExp & rx ) const

А во-вторых как интовская ф-я мне позволит обрабатывать слова? Она же по идеи просто считает количество слов в потоке.

ArisDoks ()
Ответ на: комментарий от rival

Ух ты, спасибо. Только вот еще один вопрос: Эта функция в list(согласно примеру) загружает уже отдельные слова, но все сразу. Как теперь выуживать их от туда по одному и сравнивать?

ArisDoks ()
Ответ на: комментарий от ArisDoks
QStringList words;
QHash<QString,int> count;

foreach (QString s, words)
	count[s] = count[s] + 1;
arsi ★★★★★ ()
Ответ на: комментарий от Dendy

thanks. точно, там же возвращается ссылка на новый объект, а не сам объект, затупил…

arsi ★★★★★ ()

а мои студенты такое делаюти и без КуТей. я изверг?

Pi ★★★★★ ()
Ответ на: комментарий от Pi

Если уж использовать в проекте Qt, то по полной. ИМХО.

Obey-Kun ★★★★★ ()
Ответ на: комментарий от Pi

С кутями или без, лишь бы документацию читали…

Deleted ()
Ответ на: комментарий от Obey-Kun

лабораторные программированием не считаются :)

Pi ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.