Autor | Zpráva | ||
---|---|---|---|
Exkalibr Profil * |
#1 · Zasláno: 12. 1. 2020, 11:04:24
Příklad stringu:
A) element = 'l~[kh]ól-[ch]ef' B) element = 'ub~kól' Chci zjistit zda se na začátku slova nalézá např. 'l~' nebo 'ub~' apod. Neznám tedy přesnou délku toho podřetězce, který je na začátku. Umím otestovat zda se to nachází uvnitř řetězce, ale jak zjistit délku toho podřezce 'l~' či 'ub~'? [code]/(^[bmkl][~eai]?)|(^wa|^w~|^u|^wi|^we)[bmkl]/.test(element)[code] |
||
Radek9 Profil |
#2 · Zasláno: 12. 1. 2020, 19:22:15
Exkalibr:
Z tvého popisu jsem toho bohužel moc nepochopil. Můžeš zkusit nějak lépe popsat tu syntaxi toho stringu? A hlavně, co má být výstupem? Mluvíš o nějaké délce, ale používáš metodu test .
|
||
Exkalibr Profil * |
#3 · Zasláno: 12. 1. 2020, 20:02:58
Radek9:
Hledám dva možné pod-řetězce: 1) ^[bmkl][~eai]? 2) (^wa|^w~|^u|^wi|^we)[bmkl] Když je tento podřetězec nalezen, potřebuju zjistit jak je dlouhý. Dám příklad možných podřetězců - jako oddělovač zde použiju čárku a mezeru: ad 1) b, ba, b~, be, m, ma, me, mi, k, ke, k~, l~, le, la ad 2) wab, wem, w~m, wel, ume, ume~, atd. délka tohoto podřetězce je 1-3 znaky, ale kdybych ten výraz ještě upravil, tak by mohla mít až 4 znaky. Za tímto podřetězcem, který je na začátku slova následují další znaky, ale mě zajímá délka jen toho prvního. Jednak mi jde o to ověřit zda to slovo splňuje danou podmínku, ale také chci vědět, jak dlouhý podřetězec tam je. Prostě potřebuju vědět na které pozici pokračuje to slovo. Třeba ve slovu midbár je délka podřetězce 2 a tak vím, že dbár začíná od třetího znaku (2+1). |
||
Radek9 Profil |
#4 · Zasláno: 12. 1. 2020, 20:25:37
Exkalibr:
Jasně, chápu. V tom případě použij metodu exec . Ta ti rovnou vrátí i matchnuté podřetězce.
var res = /((^[bmkl][~eai]?)|(^wa|^w~|^u|^wi|^we)[bmkl])/.exec(element) if (res) { var length = res[1].length } |
||
Exkalibr Profil * |
#5 · Zasláno: 12. 1. 2020, 20:37:15
Díky
|
||
Časová prodleva: 1 rok
|
0