Что нового

[Данные, строки] Символы ? . > = " сприсутствуют в тексте строки как должен выглядеть шаблон

general66

Пришел увидел наследил
Сообщения
211
Репутация
3
после парсинга страницы нахожу нужные мне ссылки, но они имеют ненужные хвосты выглядят они так

446248296871?st.friendId=oikhhwodrqytuorfd0qvbkwmdsdcjrqbdubn">Мом лор

помогите составить шаблон чтоб заменить эту часть
?st.friendId=oikhhwodrqytuorfd0qvbkwmdsdcjrqbdubn">
а то я и так не силен в шаблонах да и еще в начале стоит ? а в конце > вот и не получается правильно удалить хвост.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7 790
Репутация
2 319
general66
Если я правильно понял, то попробуйте так:
Код:
$sString = '/profile/446248296871?st.friendId=oikhhwodrqytuorfd0qvbkwmdsdcjrqbdubn">мом'
;$sReturn = '$1$2' ;рядом
;$sReturn = '$1 $2' ;через пробел
$sReturn = '$1; $2' ;через ; и пробел
$sNewString = StringRegExpReplace($sString, '^(.*?)\?.*>(.*?)$', $sReturn)
MsgBox(64, 'Info', $sNewString)

Или так:
Код:
$sString = '/profile/446248296871?st.friendId=oikhhwodrqytuorfd0qvbkwmdsdcjrqbdubn">мом'
;$sReturn = '' ;рядом
;$sReturn = ' ' ;через пробел
$sReturn = '; ' ;через ; и пробел
$sNewString = StringRegExpReplace($sString, '(\?.*>)', $sReturn)
MsgBox(64, 'Info', $sNewString)
 
Автор
G

general66

Пришел увидел наследил
Сообщения
211
Репутация
3
madmasles [?]
Если я правильно понял, то попробуйте так
прошу прощения я наверное неправильно задал вопрос есть такой код
Код:
...
$oIE = _IECreate($sUrl)
$sHTML = _IEBodyReadHTML($oIE)
$sText = StringRegExpReplace($sHTML, '(?s).*?<UL class=cardsList>(.*?)</UL>?.*', '$1')
$aLinks = StringRegExp($sText, '<A class=o href="(.*?)</A>', 3)
If @error Then
    _IEQuit($oIE)
    MsgBox(16, 'Error', 'Error')
    Exit
EndIf
For $i = 0 To UBound($aLinks) - 1
$sLinks &= $sFirst & StringRegExpReplace($aLinks[$i], '', '') & @CRLF & $sF1 & @CRLF & $sL  & @CRLF
Next
_IEQuit($oIE)
$sLinks = StringTrimRight($sLinks, 2)
$hFile = FileOpen(@ScriptDir & '\Link.au3', 2)
FileWrite($hFile, $sLinks)
FileClose($hFile)

в ходе его выполнения получаю строки такова вида
/profile/446248296871?st.friendId=oikhhwodrqytuorfd0qvbkwmdsdcjrqbdubn">мом
или
/group/51916868747268?st.friendId=bohlbhnmbbisowausg0qdojvqmpfbqlgccokl&amp;st.groupId=bohlbhnmbbisowausg0rlsfqecwpojcbstkalg&amp;st._aid=NavMenu_Friend_AltGroups_OpenGroup
так вот в конечном итоге хочится получить такую строку
/profile/446248296871;мом
или
/group/446248296871;мом

выполнил скрипт с такой строкой
Код:
$sLinks &= $sFirst & StringRegExpReplace($aLinks[$i], '^(\d+)\?.*>(.*?)$', ';') & @CRLF & $sF1 & @CRLF & $sL  & @CRLF
замена почему то не происходит, да и вообще там любой шаблон не работает не знаю даже почему.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7 790
Репутация
2 319
general66
Я поменял код в первом ответе.
Только я опять не понял, что из этой строки: group/51916868747268?st.friendId=bohlbhnmbbisowausg0qdojvqmpfbqlgccokl&amp;st.groupId=bohlbhnmbbisowausg0rlsfqecwpojcbstkalg&amp;st._aid=NavMenu_Friend_AltGroups_OpenGroup надо получить.
 
Автор
G

general66

Пришел увидел наследил
Сообщения
211
Репутация
3
madmasles [?]
Я поменял код в первом ответе
ага работает нормально. блин я туплю меня смущал этот символ в конце > я его спутал с признаком конца слова /> вот и ломал голову как его там обозначить чтоб он читался как обычный символ, да еще не знал как его "?" в начале обозначить . Спасибо за помощь.
 
Автор
G

general66

Пришел увидел наследил
Сообщения
211
Репутация
3
madmasles [?]
Только я опять не понял, что из этой строки
group/51916868747268;мом

вот это но тот что вы привели шаблон нормально отрабатывает и в этом случае там в конце просто не влезло ">мом
 
Верх