如何使用子字符串查找空格来显示首字母

时间:2012-01-27 23:00:05

标签: vb.net substring space indexof

我正在尝试编写的程序部分应该是用户输入,这是他们的名字,并在列表框中吐出他们的首字母。我到目前为止:

Dim initials As String
Dim indexspace As Integer
initials = name.Substring(0, 1)
indexspace = name.IndexOf(" ")
lstInvoice.Items.Add(String.Format(strFormat, "Invoice ID", initials & space))

当我运行程序时,我可以弹出第一个首字母,但我不确定如何弹出第二个。

非常感谢您对此事的帮助,非常感谢

2 个答案:

答案 0 :(得分:2)

  

问:如何在VB.Net的字符串中找到空格("")?

A:String.IndexOf("");

  

问:如何在字符串中找到后续空格?

答:提取您找到的第一个空格右侧的所有内容的子字符串。

然后做一个" .IndexOf("")"那个子串。

直到你到达字符串的末尾,或直到你感到无聊:)

答案 1 :(得分:1)

我很抱歉没有在VB中编写它,但我对C#更熟悉。没有理由寻找空间的索引。只需在空格上拆分字符串,然后拉出数组中每个结果的第一个字母。为简单起见,我假设字符串中只有两个单词,但如果它们包含一个中间名,你可以循环遍历结果数组以输出所有首字母:

string name = "Test User";
string[] nameParts = name.Split(' ');
string initials = nameParts[0].Substring(0, 1) + nameParts[1].Substring(0, 1);

VB版:

 Dim name As String = "Test User"
 Dim nameParts As String() = name.Split(" ")
 Dim initials As String = nameParts(0).Substring(0, 1) & nameParts(1).Substring(0, 1)

同样,这是一个非常简单的方法来解决你的问题。正如@paxdiablo在他的评论中指出的那样,有些名称与这种模式不符,但你知道你是程序。