私は、キャメルケースにある単語ごとにString
を分割する必要がある場合があります。私は、このパターンを使用してanswer this questionに類似の分割処理を実現しています:私は、このテストセットに遭遇するまで希望の地域の単語を分割する
split(/(?=[A-Z])/)
すべてが正常である:
- SalaryGrade - 給与等級を
- ParentChild - 親子
- メンテナンス - メンテナンス
- 送金SPD - 送金SPD
- FBIAgent - FBIエージェント
- FBIAgentNYDepartment - FBIエージェントNY部門罰金3つの作品まで
一つが、六から四は、それぞれ "送金SPD"、 "FBIエージェント"、 "FBIエージェントNY部門" でなければなりません。
連続する大文字を1単語として扱い、シーケンスの最後を次の単語の先頭として扱うようにリージョンを選択するにはどうすればよいですか?私は正直であるために一行のRegexが好きではなく、私はすべての希望を失っています。私はここでブルートフォース・ループを実行する予定です。
EDIT:このサイトでここで文字列を分割することについての他の質問とは異なり、大文字と大文字の両方の文字と大文字の文字の両方をこの機能で使用します。
JSがlookbehindをサポートしていないか、/(?<= [az])(?= [AZ])/ 'で十分だったでしょうか? – Aaron
' str.match(/ [AZ] +? ![az])| [AZ] [az] */g) ' –
@Aaron私はちょうど何分も前に見張りをテストしました。だからこそ私はそれを繰り返すことを考えている。 – Gideon