2013-08-26 63 views
0

我想在现有字词中插入单词吗?两者都是字符串。在字符串中插入字符串

例如:

给定的字符串字:

HELLO SAMPLE SENTENCE 

我要插入的字I AM A所以我的输出是:

HELLO I AM A SAMPLE SENTENCE 

我我将在这里立足的话SAMPLE。所以插入在字SAMPLE之前开始。这可能吗?

+1

你用什么标准做出这个决定? RegEx可以使用 –

+0

吗?我对RegEx不太好,但我认为它与它有关。 –

回答

3

根据您的逻辑的说明(ISN”我会用:

Dim input As String = "HELLO SAMPLE SENTENCE" 
Dim iSample As Integer = input.IndexOf("SAMPLE") 
Dim output As String = input.Insert(iSample, "I AM A ") 

这使用BCL函数String.Insert,它只是将字符串插入另一个字符串的特定位置。

+2

尼斯。不要硬编码'6',而是使用'input.IndexOf(“SAMPLE”)'代替 –

+0

非常感谢。这将被添加到我的笔记。我仍在学习基础知识。 –

+0

@Jacob,好点,我环顾四周想要插入的逻辑,并以某种方式错过了。编辑。 – richardtallent

-1

如果我没有记错的话,你可以在你的字符串上使用String.split()函数。

请参阅DotNetPerls'关于Split的页面。

您可以将字符串拆分成数组,然后将所需的行插入到数组中,然后使用String.Join()将它们重新组合在一起(谢谢Monty,我经常不再使用Visual Basic,我忘了:) )。

希望这有助于:)

+0

你也可以使用'String.Join()'(http://msdn.microsoft.com/en-us/library/system.string.join.aspx) –

1

创建这样的功能:

Function InsertBefore(sentence As String, find As String, textToInsert As String 
    Return sentence.Replace(find, textToInsert+Find) 
End Function 

,并调用它是这样的:

sentence = InsertBefore("HELLO SAMPLE SENTENCE", " SAMPLE ", "I AM A")