【问题标题】:VB.net Finding First and Last uppercase letterVB.net 查找第一个和最后一个大写字母
【发布时间】:2017-11-07 14:45:50
【问题描述】:

例如: 字符串 = Visual Basic 输出 = V C

我到处搜索都没有找到,vb.net可以做这个吗?

【问题讨论】:

标签: vb.net uppercase


【解决方案1】:

以下代码向前遍历字符串,直到找到一个大写字母,将其添加到结果中并退出第一个循环。然后它向后遍历字符串,直到找到一个大写字母,将其添加到结果中并退出循环。最后将结果返回给调用代码。

我怀疑这是一个学校/大学的作业,所以我建议你阅读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

【讨论】:

  • 使用.ToUpper() 并不总是如您所愿。 Jon Skeet 做了一个非常好的演讲,其中包括这个问题:Back to basics: the mess we'vw made of our fundamental data types。该链接以某种方式开始-我建议观看整个内容:)
  • 现在我明白为什么 NodaTime 花了这么长时间!
  • 虽然我确信这可行,但您正在创建很多字符串!您的 If 语句单独创建了 3 个单独的字符串。您可以使用s(i) 访问字符串中的字符,并使用Char.IsUpper 方法确定它是否大写。
猜你喜欢
  • 1970-01-01
  • 2013-09-01
  • 2012-02-04
  • 2012-08-16
  • 2017-07-12
  • 1970-01-01
  • 1970-01-01
  • 2017-05-18
  • 1970-01-01
相关资源
最近更新 更多