私は純粋なJavaScriptを使用していますが、現在のキャレットの位置が変数のテキスト文字列からの最後の単語を取得したい場合は、unknown
という単語を取得します。 C#のでJavaScriptでカレットの位置から最後の単語を取得するには?
、私は以下のコードの概念を使用し、その完全にそこに働いて...
private static char[] splitters = new char[] { ' ', '\n', '۔' };
int caretPosition = string.SelectionStart;
string tempLastWord = string.Substring(0, caretPosition);
string lastWord = tempLastWord.Substring(tempLastWord.LastIndexOfAny(splitters) + 1);
は今、私は以下のように純粋なJavaScriptで同じことをやりたい...
var splitters = [ ' ', '\n', '۔' ];
var caretPosition = document.getElementById(Desired_ID).value.slice(0, document.getElementById(Desired_ID).selectionStart).length;
var tempLastWord = document.getElementById(Desired_ID).value.substring(0, caretPosition);
var lastWord = tempLastWord.substring(tempLastWord.lastIndexOf(splitters) + 1);
ただし、JavaScriptコードが完全に動作していません。誰も私を助けることができる... ???
'tempLastWord.lastIndexOf(splitters)+1 ' – LiborV
また、私はjavaScriptのlastIndexOfがパラメータとして配列をとることができないと思います。区切り文字ごとに別々に呼び出してから、最大の結果を選択する必要があります。 – LiborV
@ LiborV、少し間違いをありがとう、実際にはここで逃した。そして、はい、JavaScriptには 'string.lastIndexOf(searchvalue、start)'しか含まれていません。なぜなら、何らかの代替を求める理由がある配列を受け入れないからです... –