我有一个变量,其字符串以" domain \ alias"格式存储。我想在两个不同的字符串域和别名中拆分它。 对于上述情况,我有两种解决方案,但在我的情况下,它们都没有。 解决方案1:从字符串中分离别名。 为此我使用下面的代码:
int index = name.IndexOf("\") + 1;
string piece = name.Substring(index);
其中name是以“" domain \ alias"”格式存储字符串的变量。 这个解决方案并不适用于' \'但它适用于'。' 解决方案2: 将域与字符串分开。 我在这里得到了一个解决方案:
var domainFormattedString = @"fareast\v-sidmis";
var parts = domainFormattedString.Split('\\');
var domainString = parts[0];
return domainString;
这可行,但它需要一个前缀为@symbol的字符串,并且我的字符串存储在变量名中,此解决方案不起作用。 有人请帮我从变量名中提取两个子串。
编辑1:谢谢大家的帮助!我想出了这个问题...当我明确地将字符串声明为:var x =" domian \ alias"它创建并发布为\被c#视为转义字符所以我必须在开头追加@。但我知道当从用户读取字符串时,解决方案可以正常工作!
答案 0 :(得分:1)
\具有特殊含义,因此您需要覆盖转义序列,将其视为具有另一个转义字符的普通字符。
string input = @"domain\alias";
int inputindex= input.IndexOf("\\");
string domain = input.Substring(0, inputindex);
string alias = input.Substring(inputindex+1);
希望它有助于尽力而不是迟到:)