2016-11-15 1 views
-2

Die Endung des Schülernamens sollte "2016" lauten. Ist dies der beste Weg, um die Zeichenfolge zu ändern:Zeichen zur Zeichenfolge hinzufügen vb.net

  Dim Student As String 
      If Student.Substring(0, 8) = "JoeBlogs" Then 
       stg = Student.Insert(0, 3)("2016") 
      End If 

Ich möchte die Zeichenfolge lesen „Joe2016Blogs“

+0

'Schüler = Student &„2016“', die auf 'Studenten verkürzt werden könnte + =„2016“' – topshot

+0

Ihre 'Insert' Methode wird die Arbeit für die Frage, die Sie gestellt tun, aber es ist nicht die beste Lösung in den meisten Fällen. Fabios Antwort gibt dir mehrere bessere Möglichkeiten. – vbnet3d

+0

Die bearbeitete Version Ihrer Frage ergibt keinen Sinn. Du sagst, "das Ende des Studentennamens sollte" 2016 "lesen, aber du möchtest, dass" JoeBlogs "in" Joe2016Blogs "geändert wird. Was ist die Regel hier? Soll "2016" vor dem zweiten Großbuchstaben eingefügt werden? Was passiert, wenn es mehrere Großbuchstaben (z. B. "JoeFredBlogs") oder keine (z. B. "Joeblogs") gibt? – Blackwood

Antwort

0

ich in Fabio's answer im Anschluss an die Beratung empfehlen jedoch, spezifische antworten Frage, können Sie folgendes tun:

Dim Student As String = "JoeBlogs" 
If Student.Substring(0) = "JoeBlogs" Then 
    Dim stg as string = Student.Insert(3, "2016") 
    console.WriteLine(stg) 
End If 

Welche der folgenden erzeugt:

Joe2016Blogs

0

String Verkettung vermieden, wenn viele tausend Male getan werden sollte, aber für etwas schnell folgendes tun it: stg = Student & "2016"

+0

also was ist, wenn Sie es an einer zufälligen Position in der Zeichenfolge wie so hinzufügen? – userm78452569

0

String-Typ ist unveränderlich, in jedem Fall müssen Sie einen neuen String erstellen.
können Sie Verkettung

Dim newValue As String = stringVariable + "2016" + anotherStringVariable 

oder Sie können String.Format Methode

Dim newValue As String = String.Format("{0}2016{1}", firstValue, secondValue); 

In VB.NET 14 können Sie verwenden lesbarer String Interpolationsmerkmal

Dim newValue As String = $"{first}2016{second}" 

Und wenn Sie die Erstellung verwenden verwenden Zeichenfolge in den Schleifen mit unbekannter Anzahl von Variablen verwenden StringBuilder

Dim builder As New StringBuilder() 
For Each item As String in stringCollection 
    builder.Append(item) 
    builder.Append("2016") 
End For 
Dim allItems As String = builder.ToString() 

In Ihrem Fall Hauptproblem ist „JoeBlog“ auf den Namen und „Blog“ Wort zu spalten und dann setzen „2016“ zwischen

Verwandte Themen