2017-04-10 15 views
-6

私はプログラミングの世界に新しいですし、私はあなたがVisual Basicプログラミング

は、入力中のすべての数字の合計を計算するには、Visual Basic.net関数を書く私を助けることができてください下記の問題に引っかかっていますフィールド。たとえば、入力文字列が「ICT2611」の場合、この文字列に含まれる数字は2,6,1,1であり、したがってその合計は2 + 6 + 1 + 1 = 10です。

+0

Visual BasicとVBAは、実際には2つの異なるものです。タグを更新しました。将来はそれを覚えておいてください。また、[ヘルプページ](http://stackoverflow.com/help)、特に[ここではどのトピックを聞くことができますか?](http://stackoverflow.com/help)のセクションを読んでください。/on-topic)と[[どのような種類の質問を避けるべきですか?]](http://stackoverflow.com/help/dont-ask)を参照してください。そして[良い質問をする方法を読む](http://stackoverflow.com/help/how-to-ask)、[最小限の完全で検証可能な例]を作成する方法を学ぶ(http://stackoverflow.com/jp)/help/mcve)。 –

+3

*「私はXに新しいです」*!=あなた自身で何かを試しても構わない。 – Filburt

+1

あなたの質問を編集し、あなたが試したこと、どこで問題があるのか​​をコードで実証してください。 – lukkea

答えて

0

以下はあなたの問題を解決するはずですが、Regexを使用して、提供された文字列内の式(数字1〜9)に一致するものを見つけ出し、繰り返しながらそれらを繰り返します。

Public Function SumOfString(str As String) As Integer 
    Dim total As Integer = 0 
    For Each i As Match In Regex.Matches(str, "[1-9]") 
     total += i.Value 
    Next 
    Return total 
End Function 

また同じことが、このように達成することができ、その後、この単なる文字列の各文字を反復処理し、それが数字だかどうかを確認します。それが数字の場合は、それを集計します。

Public Function SumOfString(str As String) As Integer 
    Dim total As Integer = 0 
    For Each i As Char In str 
     If Char.IsDigit(i) Then total += Integer.Parse(i) 
    Next 
    Return total 
End Function