Autor | Zpráva | ||
---|---|---|---|
IdemeNaHavaj Profil |
Ahoj,
keď mám dva texty: "Ne, text je dlouhy" "Fero neprišel domu" tak ako môžem upraviť .indexOf("ne") aby mi hodil v druhej vete, na slovo "neprišel" -1? Potrebujem, aby sa hladalo presne "ne", aby to nebralo "ne" aj uprostred slova. Dá sa to? Dakujem za odpovede |
||
Keeehi Profil |
#2 · Zasláno: 16. 8. 2015, 19:06:16
Na to ti vyhledávání podřetězců nebude stačit.
Použij regulární výrazy. developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions |
||
_es Profil |
#3 · Zasláno: 16. 8. 2015, 19:21:17
IdemeNaHavaj:
To musíš použiť regulárne výrazy. Mohlo by fungovať: s.search(/(^|\s)ne($|\s|[,;:.?!])/) |
||
IdemeNaHavaj Profil |
#4 · Zasláno: 16. 8. 2015, 21:47:14
No ja sa tím regularnym vyrazom nerozumiem, v mojich očiach to vyzerá ako čínska dedina.. ak by som chcel zmeniť vyhladávanie napr. na slovo "auto" tak stačí prepšsať
s.search(/(^|\s)ne($|\s|[,;:.?!])/))/) za s.search(/(^|\s)auto($|\s|[,;:.?!])/))/)
|
||
lionel messi Profil |
#5 · Zasláno: 16. 8. 2015, 21:49:19
IdemeNaHavaj:
„No ja sa tím regularnym vyrazom nerozumiem, v mojich očiach to vyzerá ako čínska dedina..“ Základy regulárnych výrazov v češtine (neúplné) Vyčerpávajúci popis regulárov v angličtine (kompletný prehľad) „ak by som chcel zmeniť vyhladávanie napr. na slovo "auto" tak stačí prepšsať s.search(/(^|\s)ne($|\s|[,;:.?!])/))/) za s.search(/(^|\s)auto($|\s|[,;:.?!])/))/) “
Áno. |
||
Keeehi Profil |
#6 · Zasláno: 17. 8. 2015, 00:19:34
IdemeNaHavaj:
Ten regulár se dá velmi jednoduše zapsat jako s.search(/\bne\b/); . To \b znamená hranici slova což je přesně, to co chceš. Ovšem problém je, že česká písmena s diakritikou nejsou považována za písmena a proto si regex myslí, že je tam konec slova, proto nex správně neprojde ale než projde. Dalo by se to vyřešit zapnutím unicode /\bne\b/u , ovšem problém je, že podle toho co jsem našel to bude fungovat až v novém javascriptu. Třeba PHP a jiné jazyky to ale umí.
|
||
Časová prodleva: 9 let
|
0