2017-04-10 4 views
-6

내가 프로그래밍의 세계에 새로운 오전 난 당신이 입력에서 모든 숫자의 합을 계산하는 비주얼 Basic.net 기능을 쓰기 나에게Visual Basic의 프로그래밍

도움을 수하십시오 아래의 문제에 붙어 있어요 들. 예를 들어, 입력 문자열이 : "ICT2611"이면이 문자열에 포함 된 숫자는 2, 6, 1, 1이므로 합계는 2 + 6 + 1 + 1 = 10입니다.

+0

Visual Basic 및 VBA는 실제로 두 가지가 있습니다. 태그를 업데이트했습니다. 앞으로 그것을 기억하십시오. 또한 [도움 페이지] (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/)./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