it-swarm.com.de

Wagenrücklauf von String entfernen

Ich möchte folgendes in einen String einfügen

<p>some text here</p>
<p>some text here</p>
<p>some text here</p>

Ich möchte, dass es wie folgt in einen String eingeht

<p>some text here</p><p>some text here</p><p>some text here</p>

d. h. ohne die Wagenrückführung.

Wie kann ich das erreichen?

42
oshirowanen

Da Sie VB.NET verwenden, benötigen Sie folgenden Code:

Dim newString As String = origString.Replace(vbCr, "").Replace(vbLf, "")

Sie könnten in C # Escape-Zeichen (\r und \n) verwenden, die in VB.NET jedoch nicht funktionieren. Sie müssen stattdessen die entsprechenden Konstanten (vbCr und vbLf) verwenden.

96
Cody Gray

Wie wäre es mit:

string s = orig.Replace("\n","").Replace("\r","");

das sollte die gemeinsamen Zeilenenden behandeln.

Wenn Sie diesen String hartcodiert haben oder zur Laufzeit zusammenstellen, fügen Sie die Zeilenumbrüche einfach nicht hinzu.

12
Marc Gravell

Wenn Sie auch Leerzeichen am Anfang/Ende einer Zeile entfernen möchten (häufig beim Verkürzen von HTML), können Sie Folgendes versuchen:

string.Join("",input.Split('\n','\r').Select(s=>s.Trim()))

Verwenden Sie ansonsten die einfache Replace von Marc vorgeschlagene.

4
CodesInChaos

Weisen Sie Ihren String einer Variablen zu und ersetzen Sie dann die Zeilenumbrüche und die Zeilenumbrüche durch nichts wie folgt:

 myString = myString.Replace(vbCrLf, "")
2
Zinc

In VB.NET gibt es eine vbCrLf-Konstante für Zeilenumbrüche: 

Dim s As String = "your string".Replace(vbCrLf, "")
2
Jakob Gade

Wie wäre es mit einer Regex?

var result = Regex.Replace(input, "\r\n", String.Empty)

Wenn Sie nur die neue Zeile ganz am Ende entfernen möchten, verwenden Sie diese Option

var result = Regex.Replace(input, "\r\n$", String.Empty)
1

Ich hatte heute gerade das gleiche Problem in meinem Code und habe versucht, was wie ein Zauber wirkt.

.Replace("\r\n")
0
Boboy

Für VB.net

vbcrlf = environment.newline ...

Dim MyString As String = "Dies ist ein Test" & Environment.NewLine & "Dies ist die zweite Zeile!"

Dim MyNewString As String = MyString.Replace(Environment.NewLine,String.Empty)
0
HarisJabbar

Sie können auch versuchen:

string res = string.Join("", sample.Split(Environment.NewLine.ToCharArray())

Environment.NewLine sollte es plattformunabhängig machen.

Empfohlen Lesen:

Environment.NewLine Eigenschaft

0
NeverHopeless