2009-04-28 13 views
2

私はこの形式のテキストがあります。VB.NETで2つの数字間のコロンを削除するにはどうすればよいですか?

用語:156:59データ入力

私は削除する「を:」テキストができるよう数の間、その後は何か他のものに置き換えますなる:

用語:私はVB.NETでこれを行うことができますどのように156から59データ入力

+0

少なくとも彼は車輪を再発明しようとはしませんでした。 – belgariontheking

答えて

6

(クレジットジョナサン):

Dim text As String = "term: 156:59 datainput" 
    Dim fixedText As String = Regex.Replace(text, "(\d+):(\d+)", "$1-$2") 

nb:最後の2行が推奨どおりに削除されました。 (交換してください。 - :

データ= data.Replace( ""、 "")

+0

おそらく最後の2行を持つ必要はありませんが、#1はVB版で最初の正解を持つためです。 – TheTXI

+0

これはうまくいきます。ありがとう – Rithet

0

データを文字列に読み込んだと仮定して、string.replace関数を見てみましょう。

+0

質問を慎重に読んだ人にとって明らかに間違っていることを人々はどのように投票し続けるのですか? – TheTXI

+0

私の悪いです。 それは私に質問をすることを教えてくれるでしょう。 – benophobia

+0

気分が良くなったら、まったく同じことをした人が約5人ほどいました。 – TheTXI

5

はい、(あなたのデータは、指定した正確なフォーマットであると仮定して)私は、これは少し不器用ですけど、それが動作するはずです:もちろん

input[input.IndexOf(":", input.IndexOf(":")+1)] = "#" 

、あなたは見つけるために、より一般的なケースをしたい場合NUMBER:NUMBERと番号#番号に置き換えるには、私はこのように、正規表現を使用してお勧めします:

VB.NETで
var re = new Regex(@"(\d+):(\d+)"); 
re.Replace(input, "$1#$2"); 
+0

最後に誰かがそれを得た – TheTXI

+0

最初の ":"を見つけていい仕事。私は、すぐにはそれに気づいていない人はほとんどいないと思う。私を含めて。 –

+0

@Mikko:それに気付くことで、私は信じることができません - 私はそれを持っていた別の答えを見て、それが間違っていたとのコメントを見る前に、私はポストをstring.replaceに書き上げていました。 –

0

あなたも、この使用して、文字列がString = ":156が59データ入力期" として

点心データを置き換える行うことができます"term-"、 "term:")

関連する問題