2013-08-26 183 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")