@Mathematica
wordSuggestion[str_]:=Module[{url,symbols,pattern,words},
(* Data & Parameter *)
url="https://w...content-available-to-author-only...u.edu/~rgs/alice-I.html";
symbols=RegularExpression["[!-/:-@¥[-`{-~]"];
pattern=RegularExpression[str<>".*"];
(* Analysis *)
words=url//
Import//
StringReplace[#,symbols->""]&//
StringSplit//
DeleteDuplicates;
(* Results *)
words//
Select[#,StringMatchQ[#,pattern]&]&
];
In[1] := wordSuggestion["on"]
Out[1] = {"on", "once", "one", "only"}
In[2] := wordSuggestion["we"]
Out[2] = {"well", "went", "were"}
QE1hdGhlbWF0aWNhCgp3b3JkU3VnZ2VzdGlvbltzdHJfXTo9TW9kdWxlW3t1cmwsc3ltYm9scyxwYXR0ZXJuLHdvcmRzfSwKCgkoKiBEYXRhICYgUGFyYW1ldGVyICopCgl1cmw9Imh0dHBzOi8vdy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4udS5lZHUvfnJncy9hbGljZS1JLmh0bWwiOwoJCglzeW1ib2xzPVJlZ3VsYXJFeHByZXNzaW9uWyJbIS0vOi1AwqVbLWB7LX5dIl07CgoJcGF0dGVybj1SZWd1bGFyRXhwcmVzc2lvbltzdHI8PiIuKiJdOwoJCgkoKiBBbmFseXNpcyAqKQoJd29yZHM9dXJsLy8KCQlJbXBvcnQvLwoJCVN0cmluZ1JlcGxhY2VbIyxzeW1ib2xzLT4iIl0mLy8KCQlTdHJpbmdTcGxpdC8vCgkJRGVsZXRlRHVwbGljYXRlczsKCgkoKiBSZXN1bHRzICopCgl3b3Jkcy8vCgkJU2VsZWN0WyMsU3RyaW5nTWF0Y2hRWyMscGF0dGVybl0mXSYKXTsKCgpJblsxXSA6PSB3b3JkU3VnZ2VzdGlvblsib24iXQpPdXRbMV0gPSB7Im9uIiwgIm9uY2UiLCAib25lIiwgIm9ubHkifQoKSW5bMl0gOj0gd29yZFN1Z2dlc3Rpb25bIndlIl0KT3V0WzJdID0geyJ3ZWxsIiwgIndlbnQiLCAid2VyZSJ9Cg==