skyblue さんも答えてますが、instr 関数で、数字文字までの場所を検索する方法が一番早いと思いますよ。
//例
a="この番号は、0123-456-789です。"
b=instr(a,0,"0") //←の"0"は、数字("0"〜"9"に変えて検索してみよう)
mes b
の場合、instr の戻り値は、12となり、12バイト目に該当文字があります。
なので、12バイト目から数字(上記の場合、「-」も数字として扱うのでそれも含む)以外の場所が出てくるまで、検索すればいいのです。
そうしますと、0123-456-789 という番号のみが判明すると思います。
そうしたら、その番号がある場所に、"<NUMK VAL="を含ませ、数字の終わりの部分に、">"を含ませて
この番号は、<NUMK VAL=0123-456-789>です。
を作ればいいのです。文章に複数の数字の場所が含まれていた場合は、一回でやろうとしないで
複数回に分けてやればいいのです。
例
"この番号は、0123-456-789ですが、0123-456-789に変わりました。"
の場合は、上記で説明したとおり
「この番号は、」と「0123-456-789」を分解し
「ですが、」と「0123-456-789」を分解し
最後まで数字がない為、2回目に分解した終端から、「に変わりました。」を組み合わせればいいのです。