Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Общие вопросы _ Странности с флажком QTextDocument::FindWholeWords

Автор: AD 28.4.2008, 13:05

Из файла последовательно считываю строки, ищу строки, где есть слово "value" целиком, т.е. без каких-либо прибавок, используя вот этот флажок QTextDocument::FindWholeWords. А мне отыскиваются как раз слова в которых "value" как прибавка. В чем проблема?

Вот код:

if(record.toLower().find("value", QTextDocument::FindWholeWords) != -1)
{
         /// body
}

Автор: Litkevich Yuriy 28.4.2008, 13:18

record какой тип имеет?
я для find нашел такие варианты:

QTextCursor find ( const QString & subString, const QTextCursor & cursor, FindFlags options = 0 ) const 
QTextCursor find ( const QRegExp & expr, const QTextCursor & cursor, FindFlags options = 0 ) const
QTextCursor find ( const QString & subString, int position = 0, FindFlags options = 0 ) const
QTextCursor find ( const QRegExp & expr, int position = 0, FindFlags options = 0 ) const

а такого
QTextCursor find ( const QString & subString, FindFlags options = 0 ) const

не нашел
т.е. я думаю, что надо написать так:
find("value", 0, QTextDocument::FindWholeWords)

Автор: AD 28.4.2008, 13:45

Цитата(Litkevich Yuriy @ 28.4.2008, 14:18) *
record какой тип имеет?
я для find нашел такие варианты:
QTextCursor find ( const QString & subString, const QTextCursor & cursor, FindFlags options = 0 ) const 
QTextCursor find ( const QRegExp & expr, const QTextCursor & cursor, FindFlags options = 0 ) const
QTextCursor find ( const QString & subString, int position = 0, FindFlags options = 0 ) const
QTextCursor find ( const QRegExp & expr, int position = 0, FindFlags options = 0 ) const

а такого
QTextCursor find ( const QString & subString, FindFlags options = 0 ) const

не нашел
т.е. я думаю, что надо написать так:
find("value", 0, QTextDocument::FindWholeWords)

Спасибо, заходить стало, но не помогло! Ладно, не столь важно.
А как с помощью регулярных выражений написать так, чтобы в строке, например, удалялось все что после знака "="? Не силен в регэкспе, можно по проще объяснить, а не читать кучу текста? Заранее спасибо!

Автор: Litkevich Yuriy 28.4.2008, 14:03

я тоже пас :unknown:

Автор: ViGOur 28.4.2008, 15:09

Цитата(' date='28.4.2008, 14:45) *
А как с помощью регулярных выражений написать так, чтобы в строке, например, удалялось все что после знака "="?
Приведи пример, попробую составить, но не обещаю, так как сам недавно на него подсел... :)

Автор: AD 28.4.2008, 15:27

Цитата(ViGOur @ 28.4.2008, 16:09) *
Цитата(' date='28.4.2008, 14:45) *
А как с помощью регулярных выражений написать так, чтобы в строке, например, удалялось все что после знака "="?
Приведи пример, попробую составить, но не обещаю, так как сам недавно на него подсел... :)

value = true либо color = #ff6509

Мне надо, чтобы осталось "value = ", "color = "

Автор: Litkevich Yuriy 28.4.2008, 15:33

так и пиши:
(value =)
поймает толко то что в скобках, больше ничего.

Автор: ViGOur 28.4.2008, 15:36

угу

Автор: Tonal 29.4.2008, 7:17

QString::section не канает?

QString valName = line.section('=', 0);

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)