2017-11-07 22 views
-2

: 문자열 = Visual Basic의 출력 = V CVB.net 찾기 첫 번째 예를 들어 마지막 대문자

나는 모든 곳에서 검색을 시도했지만 아무것도 발견 한

, 그것은 vb.net이 일을 할 수 있습니까?

+2

[연구 정규식 (정규 표현식)] (읽을 것을 제안 https://msdn.microsoft.com/en- us/library/system.text.regularexpressions.regex (v = vs.110) .aspx). 이 작업을 수행 할 수 있어야합니다. –

+0

[Char.IsUpper Method] (https://msdn.microsoft.com/en-us/library/system.char.isupper (v = vs.110) .aspx)는 수행 할 간단한 테스트. 출력물에 공간을 포함 시키려고 했습니까? –

+0

[ask]를 읽고 [둘러보기]를 가져 가십시오. 이것은 튜토리얼 사이트가 아니며 우리는 당신을 위해 숙제를하지 않습니다. – Plutonix

답변

0

다음 코드는 대문자를 찾아 결과에 추가하고 첫 번째 루프를 종료 할 때까지 문자열을 통해 반복합니다. 그런 다음 대문자를 찾아서 결과에 추가하고 루프를 종료 할 때까지 문자열을 거꾸로 반복합니다. 마지막으로 호출 코드에 결과를 반환합니다.

내가이 학교/대학 지정 것으로 의심, 그래서 당신이 Open letter to Students with homework problems

Private Function FirstAndLastCapitalLetter(s As String) As String 
    Dim result As String = "" 
    For i As Integer = 0 To s.Length - 1 
     If s.Substring(i, 1) = s.Substring(i, 1).ToUpper Then 
      result = result & s.Substring(i, 1) 
      Exit For 
     End If 
    Next 
    For i As Integer = s.Length - 1 To 0 Step -1 
     If s.Substring(i, 1) = s.Substring(i, 1).ToUpper Then 
      result = result & s.Substring(i, 1) 
      Exit For 
     End If 
    Next 
    Return result 
End Function 
+1

'.ToUpper() '를 사용한다고해서 항상 기대하는 것은 아닙니다. Jon Skeet은 문제를 포함하는 정말 좋은 이야기를합니다 : [기초로 돌아 가기 : 우리의 근본적인 데이터 유형으로 만든 엉망] (https://www.youtube.com/watch?time_continue=1264&v=l3nPJ-yK- LU). 그 링크가 어떤 식 으로든 시작됩니다 - 나는 모든 것을 지켜 볼 것을 권장합니다 :) –

+0

이제 NodaTime이 그렇게 오래 걸린 이유를 알았습니다! –

+0

이 기능이 작동하는 동안 많은 문자열이 생성됩니다! 'If' 문만이 3 개의 분리 된 문자열을 생성합니다. 's (i)'를 사용하여 문자열의 문자에 접근하고'Char.IsUpper' 메서드를 사용하여 대문자인지 여부를 결정할 수 있습니다. –