Vb.net 我怎样才能从字符串中得到第一个和最后一个字母?

Vb.net 我怎样才能从字符串中得到第一个和最后一个字母?,vb.net,Vb.net,如何让程序从输入的字符串中提取第一个和最后一个字母 示例:“有人告诉我我是个笨蛋!” 输出:“IebntdIaman!” 我尝试使用Split,但运气不佳。试试这样的方法。因为您有两个单字符单词,所以我使用了一个条件,以获得所需的输出。我还使用删除空条目的方法来防止零长度项,然后获取结果并使用该方法解析出起始字符和结束字符 Sub Main() Dim splitChar As String() = {" "} Dim example As String = " I've bee

如何让程序从输入的字符串中提取第一个和最后一个字母

示例:“有人告诉我我是个笨蛋!”

输出:“IebntdIaman!”


我尝试使用Split,但运气不佳。

试试这样的方法。因为您有两个单字符单词,所以我使用了一个条件,以获得所需的输出。我还使用删除空条目的方法来防止零长度项,然后获取结果并使用该方法解析出起始字符和结束字符

Sub Main()
    Dim splitChar As String() = {" "}
    Dim example As String = " I've been told I am a noob!"
    Dim output As String = ""
    Dim result As String() = example.Split(splitChar, StringSplitOptions.RemoveEmptyEntries)
    For Each item In result
        If item.Length > 1 Then
            output += item.Substring(0, 1) & item.Substring(item.Length - 1, 1)
        Else
            output += item.Substring(0, 1)
        End If
    Next
    Console.WriteLine(output)
    Console.ReadLine()

End Sub
这很有效:

Dim example As String = "I've been told I am a noob!"

Dim result = New String( _
    example _
        .Split(" "c) _
        .SelectMany(Function (w) _
            If(w.Count() = 1, _
                new Char() { w(0) }, _
                New Char() { w.First(), w.Last() })) _
        .ToArray())
'IebntdIaman!

非常感谢您的快速回复!然而,我并不是100%理解
(0,1)&item.Substring(item.Length-1,1)
的意思。你能解释一下吗?@ USER 2671434,我认为这是一个非常愚蠢的问题。您可以在MSDN文档中使用loook,或者使用intellisense功能了解每个参数的作用。字符串实际上是一个字符数组,这些行的第一个状态是从字符串的第一个字母(位置0)开始,只获取一个字符,这将是第一个字符。第二条语句声明您希望以字符串长度-1开始,因为您的数组是基于0的,并且要获得一个字符。而且,&操作符只是将它们连接在一起。@ElektroStudios对不起。我只是好奇。我可能只需要看一下文档就可以了。我弄错了。@MarkHall非常感谢你!