![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 270 Pomógł: 0 Dołączył: 21.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Najprościej znaleźć określone słowo w stringu przy pomocy strpos, ale ta funkcja w przykładowym stringu np : "Jakieś przykładowe zdanie z wyszukiwanym_wyrazem w tekście i innym wyrazem." jeżeli szukamy słowa "wyrazem" wyświetli nam zarówno "wyrazem" jak i "wyszukiwanym_wyrazem" a chodzi o to żeby znaleźć tylko słowo "wyrazem".
Mam więc pytanie czy da się to zrobić bez wyrażeń regularnych - przy pomocy funkcji? Sprawa jest o tyle utrudniona, że muszę przeszukać kilka plików pod kątem występowania określonych słów (z array), mam już gotową pętlę, ale wystąpił powyższy problem. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 555 Pomógł: 84 Dołączył: 20.02.2008 Skąd: Małopolska Ostrzeżenie: (0%) ![]() ![]() |
@ksar Twoje rozwiązanie niestety jest błędne - wyraz "wyszukiwanywyraz" z przykadłowego zdania z pierwszego postu zostanie znalezione, bo po "wyraz" jest spacja. Dobry rozwiązaniem jest to, które opisał @thek, aczkolwiek z drobną zmianą - szukamy "wyraz", bez spacji ani niczego, następnie sprawdzamy znak przed i po, by znaleźć char inny niż [a-zA-Z] + polskie znaki, ponieważ nie tylko spacja, ale również tabulacja lub znaki przestankowe mogą tam się znaleźć. Jeśli warunek zostanie spełniony, wtedy znaczy, że jest to osobny wyraz, jeśli nie jest częścią czegoś większego.
Ten post edytował Skie 18.07.2015, 06:42:37 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 18.10.2025 - 00:17 |