テキスト文字列のタグを-自動的に-生成する必要があります。この場合、次の文字列を使用します。
var text = 'This text talks about loyalty in the Royal Family with Príncipe Charles';
私の現在の実装では、6文字以上の単語のタグが生成され、正常に機能します。
words = (text).replace(/[^a-zA-Z\s]/g,function(str){return '';});
words = words.match(/\w{6,}/g);
console.log(words);
これは戻ります:
["loyalty","Family","Prince","Charles"]
問題は、タグが特定の単語のセットである必要がある場合があることです。結果は次のようになります。
["loyalty","Royal Family","Príncipe Charles"]
つまり、置換/一致コードは次のことをテストする必要があります。
- 6文字(またはそれ以上)の単語。および/または
- 単語のセットが大文字で始まる場合、それらの単語は同じ配列要素で結合する必要があります。一部の単語の長さが6文字未満であるかどうかは関係ありませんが、少なくとも1つは6文字以上である必要があります。たとえば、「ロンドンのUKGuardiánに立ち寄る」は["TheUKGuardián"、 "ロンドン」]
私は明らかに2番目の要件で問題を抱えています。何か案は?ありがとう!