Zwykle używam następującego kodu w JavaScript, aby podzielić ciąg na białe znaki.W jaki sposób podzielić ciąg znaków za pomocą białych znaków i ignorując wiodące i kończące białe znaki w tablicy słów za pomocą wyrażenia regularnego?
"The quick brown fox jumps over the lazy dog.".split(/\s+/);
// ["The", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog."]
To oczywiście działa nawet wtedy, gdy między słowami jest wiele białych znaków.
"The quick brown fox jumps over the lazy dog.".split(/\s+/);
// ["The", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog."]
Problem jest, gdy mam ciąg, który ma wiodącą lub końcowe białe znaki w tym przypadku powstałe tablica łańcuchów obejmie pusty znak na początku i/lub na końcu tablicy.
" The quick brown fox jumps over the lazy dog. ".split(/\s+/);
// ["", "The", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog.", ""]
Jest to trywialne zadanie wyeliminowanie takich pustych znaków, ale wolałbym zająć się tym w wyrażeniu regularnym, czy to w ogóle możliwe. Czy ktokolwiek wie, jaki wyraz regularny mógłbym użyć, aby osiągnąć ten cel?
Konie na kursy. 'split' służy do * dzielenia * ciągu, a nie * mutowania * go. Zobacz [jak przyciąć napis w JavaScript?] (Http://stackoverflow.com/questions/498970/how-do-i-trim-a-string-in-javascript). – DCoder
Niestety javascript nie obsługuje ** lookbehind ** i nawet gdybyś użył ** lookbehind **, w pierwszym podzieleniu byłoby miejsce – Anirudha
Nigdy nie myślałem o tym z tej perspektywy. Dzięki za wskazanie tego! – natlee75