Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Сообщений [ 3 ]
- MaDriver
- сержант
- Неактивен
- Зарегистрирован: 06.04.2017
- Сообщений: 15
Тема: Найти одиночную букву в тексте, но не часть слова
Здравствуйте!
Подскажите как найти одиночную букву в тексте, допустим "п.", но так чтобы это была не последняя буква в крайнем слове предложения (например "циклоп."?
Пол рабочего дня потратил на гуглеш, но толкового решения так и не нашел(. Заранее спасибо!
- MaDriver
- сержант
- Неактивен
- Зарегистрирован: 06.04.2017
- Сообщений: 15
Re: Найти одиночную букву в тексте, но не часть слова
MaDriver пишет:Здравствуйте!
Подскажите как найти одиночную букву в тексте, допустим
Что с этим форумом?
Повторю:
Здравствуйте!
Подскажите как найти одиночную букву в тексте, допустим "п.", но так чтобы это была не последняя буква в крайнем слове предложения (например "циклоп."?
Пол рабочего дня потратил на гуглеш, но толкового решения так и не нашел(. Заранее спасибо!
- yshindin
- генерал-полковник
- Неактивен
- Откуда: Москва
- Зарегистрирован: 12.05.2012
- Сообщений: 446
- Поблагодарили: 170
Re: Найти одиночную букву в тексте, но не часть слова
MaDriver пишет:...
Подскажите как найти одиночную букву в тексте, допустим "п.", но так чтобы это была не последняя буква в крайнем слове предложения (например "циклоп."?
...
Попробуйте перебрать все слова в целевом диапазоне. Если контекст в очередном слове обнаружен и это не последнее слово в предложении (последним "словом" в предложении с точки зрения коллекции Words всегда должна быть точка), то это искомый контекст, и тогда его нужно выделить (или еще как-то обработать). Вот пример (стартовая программа - t_SDTCATEOS).
Sub SelectDefiniteTrailingCharactersNotAtTheEndOfSentence(trailing_chars As String, rgs As range)
Dim sent As Object
Dim sent_wdc As Long
Dim wtchead As String
Dim wtc As String
Dim iwtchead As Long
Dim wtcfound As Boolean
Dim wtcrgsel As range
Dim iwd As Long
wtcfound = False
Set wtcrgsel = Selection.range
wtchead = trailing_chars
For Each sent In rgs.Sentences
sent_wdc = sent.Words.count
For iwd = 1 To sent_wdc
wtc = Trim$(sent.Words(iwd).Text)
iwtchead = InStr(wtc, wtchead)
If iwtchead > 0 Then 'chars found in the word
If Not (iwd = sent_wdc - 1) Then 'not last word in the sentence
wtcfound = True
wtcrgsel.SetRange Start:=sent.Words(iwd).Start + iwtchead - 1, _
End:=sent.Words(iwd).Start + iwtchead - 1 + Len(wtchead)
wtcrgsel.Select
GoTo e_SDTCATEOS
End If
End If
Next iwd
O = 0
Next
e_SDTCATEOS:
If Not wtcfound Then
MsgBox "Text '" & trailing_chars & "' is not found"
End If
End Sub
Sub t_SDTCATEOS()
SelectDefiniteTrailingCharactersNotAtTheEndOfSentence "п", Selection.range
End Sub
Сообщений [ 3 ]
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Вы можете помочь в развитии форума, сделав пожертвование:
Или помочь сайту популярной криптовалютой:
BTC Адрес: 1Pi3a4c6sJPbfF2sSYR2noy61DMBkncSTQ
ETH Адрес: 0x7d046a6eaa1bd712f7a6937b042e9eee4998f634
LTC Адрес: LUyT9HtGjtDyLDyEbLJZ8WZWGYUr537qbZ
USDT (ERC-20) Адрес: 0x7d046a6eaa1bd712f7a6937b042e9eee4998f634
Яндекс Деньги: 410013576807538
А тут
весь список наших разных крипто адресов, может какой добрый человек пожертвует немного монет или токенов - получит плюсик в карму от нас :) Благо Дарим, за любую помощь!