2016-09-07 2 views
-2

Ich habe eine Benutzereingabevariable, die die Zeichenfolge im Format: "domain\alias" enthält, und ich muss dies in zwei verschiedene Zeichenfolgen aufteilen: Domäne und Alias.Eine Zeichenfolge im Format Domäne Alias ​​teilen

Ich hörte irgendwo über die Umwandlung von Strings in Literale, aber ich verstehe nicht, wie das mir hier helfen wird.

+0

'doamin' ->' Domain' Tippfehler? Können Sie ein Beispiel zeigen? –

+0

Hier ist das Beispiel. und ja, das war ein Tippfehler. meine Variable ist sagen xyz. enthält eine Zeichenfolge in Form von Domäne \ Alias. jetzt möchte ich Xyz in zwei verschiedene Strings aufgeteilt: Domain und Alias ​​ – dotnetman

Antwort

1

schreiben

var x = @"doamin\alias".Split('\\') 

es wird Ihnen ein Array whith Inhalte geben

x[0] = "doamin" 
x[1] = "alias" 

, wenn Sie Benutzer auch erhalten möchten, wenn Domäne nicht angegeben ist:

var user = x.Length == 2 ? x[1] : x[0]; 
var domain = x.Length == 2 ? x[0] : null; 
+0

danke. aber sage ich habe eine Zeichenfolge in einer Variablen xyz dann funktioniert die obige Methode nicht .. bitte schlagen Sie vor. – dotnetman

+0

Tatsächlich funktioniert es auch nicht im obigen Fall, es sei denn, und bis ich der Zeichenfolge '@' voranstelle. – dotnetman

+0

Nun '@" Domain \ Alias ​​"' ist * genau * das gleiche wie das Schreiben '' domain \\ alias "'. Wenn wir das '@' vor die Zeichenfolge setzen, müssen wir den Backslash nicht verlassen. http://stackoverflow.com/questions/556133/whats-the-in-front-of-a-string-in-c – mortb

1
string input = @"domain\alias"; 
int inputindex= input.IndexOf("\\");   
string domain = input.Substring(0, inputindex); 
string alias = input.Substring(inputindex+1); 
+0

Dies wird ausgelöst, wenn die Eingabe keinen umgekehrten Schrägstrich ('\') enthält, denn dann 'IndexOf()' gibt -1 zurück. – CodeCaster

+1

Ja. Aber die Frage von @ dotnetman wird diese Ausnahme nicht angegeben. –

+1

Geh über defensive Programmierung lesen. – CodeCaster

Verwandte Themen