title.Substring - string bis '[' oder '(' auslesen
-
Hallo,
ich möchte aus einer Variablen 'Title' text auslesen, bis ich auf ein '[' oder '(' stoße.
z.Bsp. von
Oral Fixation Vol.2 (New Version)
möchte ich nur bis zur Klammer auslesen.
Oral Fixation Vol.2
Dies wollte ich mit folgendem code lösen - etwas stimmt aber nicht, ich bekomme die Meldung: "Zeilenumbruch innerhalb einer Konstanten".
(Title.Substring(0, Title.IndexOfAny(new char[] { '(', '[' })).Trim())
Auch mit diesem code habe ich es probiert und habt auch nicht funktioniert.
(Title = Title.Substring(0, Title.IndexOfAny(new char[] {'(', '['})))
Hier auch noch der gesamte String den ich nutze um den inhalt der Variablen auszulsesen und weiterzugegeben (funktioniert).
[cs]
prdtTitle|exact|[TextTranslator.RemoveDiacritics (Title)]|mainPerformer|exact|[TextTranslator.RemoveDiacritics (Artist)]|false
[/cs]
(Title) muss gegen einen code ersetzt werden, der wie oben schon beschrieben den Title nur bis zu ( oder [ ausliestDer komplette string hat demnach bei mir so ausgesehen:
prdtTitle|exact|[TextTranslator.RemoveDiacritics ((Title.Substring(0, Title.IndexOfAny(new char[] { '(', '[' })).Trim()))]|mainPerformer|exact|[TextTranslator.RemoveDiacritics (Artist)]|false
prdtTitle|exact|[TextTranslator.RemoveDiacritics (Title = Title.Substring(0, Title.IndexOfAny(new char[] {'(', '['})))]|mainPerformer|exact|[TextTranslator.RemoveDiacritics (Artist)]|false
Hat jemand einen Vorschlag was bei
(Title.Substring(0, Title.IndexOfAny(new char[] { '(', '[' })).Trim())
korrigiert werden muss?
Vielen Dank!
xtribe
-
xtribe schrieb:
Hat jemand einen Vorschlag was bei
(Title.Substring(0, Title.IndexOfAny(new char[] { '(', '[' })).Trim())
korrigiert werden muss?
Funktioniert hier einwandfrei.
EDIT: In welchem Kontext soll dieser merkwürdige String mit den Pipes benutzt werden?
-
Hi LordJaxom,
ich habe das in einem web navigation step in einer C# Anwendung um werte an eine Webseite zu übergeben.
und ich möchte nicht den gesamten Title an die Suchfunktion übergeben sondern nur bis zur Klammer.
hab's gerade nochmal getested und das Ding funktioniert bei mir nicht.
Gruß,
xtribe
-
hier nochmal die komplette fehlermeldung:
Error in template 'prdtTitle|exact|[TextTranslator.RemoveDiacritics(Title.Substring(0, Title.IndexOfAny(new char[] { '(', '[' })).Trim())]|mainPerformer|exact|[TextTranslator.RemoveDiacritics(Artist)]|false':
ErrorError at line 1: Zeilenumbruch innerhalb einer Konstanten.
-
ok. ich habs nochmal getestet...
wenn er sofort auf einen string mit [ oder ( stößt funktioniert es perfekt! Alledings bekomme ich die fehlermeldung wenn er auf einen string ohne ( oder [ stößt.
ERROR - Parse text document failed: Die Länge darf nicht kleiner als 0 (null) sein.
wie kann ich das mit einer if funktion in C# lösen?
-
Da traut man sich ja fast nciht zu antworten...
int index = Titel.IndexOfAny(new char[] { '(', '[' })); if( index != -1 ) { Title.Substring(0, index).Trim()) }
Info: IndexOfAny liefert -1 zurück wenn keiner der Chars gefunden werden konnte... MSDN is your friend.
-
Mit meiner Lösung bekomme ich die Meldung:
'Der Typ sring kann nicht imlizig in int konvertiert werden'int index = Title.Substring(0, Title.IndexOfAny(new char[] { '(', '[' })); if(index != -1) Title = Title.Substring(0, Title.IndexOfAny(new char[] { '(', '[' })).Trim(); else Title = Title;
Mit deiner Version: 'Nicht alle Codepfade geben einen Wert zurück'.
int index = Title.IndexOfAny(new char[] { '(', '[' }); if( index != -1 ) { Title.Substring(0, index).Trim(); }
-
int index = Title.Substring(0, Title.IndexOfAny(new char[] {'(', '['})); if( index != -1 ) { Title.Substring(0, index).Trim(); }
Der typ string kann nicht implizit in int konvertiert werden
-
Crosspost
http://www.mycsharp.de/wbb2/thread.php?threadid=42231
http://www.c-sharp-forum.de/topic_titleSubstring++Text+aus+Variable+lesen+bis++oder+_75574.html
Egal wie oft du es postest. Dir fehlen einfach noch Grundlagen die du dir aneignen solltest.
-
Zwergli schrieb:
Crosspost
http://www.mycsharp.de/wbb2/thread.php?threadid=42231
http://www.c-sharp-forum.de/topic_titleSubstring++Text+aus+Variable+lesen+bis++oder+_75574.html
Egal wie oft du es postest. Dir fehlen einfach noch Grundlagen die du dir aneignen solltest.
Ich würde aber Crosspost so definieren, das er bei
www.c-plusplus.net/forum
in meheren Foren postet ... ist doch okay, wenn er auf anderen Webseiten sein glück versucht?Gruss FB
-
facebraker schrieb:
Ich würde aber Crosspost so definieren, das er bei
www.c-plusplus.net/forum
in meheren Foren postet ... ist doch okay, wenn er auf anderen Webseiten sein glück versucht?Es wird in der Regel nicht gerne gesehen, da eben mehrere Benutzer auf unterschiedlichen Foren aktiv sind. Wenn man in einem Forum in angemessener Zeit (einige Tage) keine Antwort erhält, finde ich das Neu-Posten in einem anderen Forum aber legitim.