Bestimmte Zeichen bei URL's müssen in der %-Schreibweise des ASCII-Codes übergeben werden.
Das Minus wäre dann "....%2D....."
Suche mal nach einer Funktion "UrlEncode", ob du die irgendwo hast.

\W+ steht für Worte, die durch Whitespace (Blank, Tab, Cr, LF) getrennt sind.
"ABC XXX-YYY DEF"
ergibt also 3 Worte.