以域\别名

时间:2016-09-07 05:58:44

标签: c#-4.0

我有一个变量,其字符串以" 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#视为转义字符所以我必须在开头追加@。但我知道当从用户读取字符串时,解决方案可以正常工作!

1 个答案:

答案 0 :(得分:1)

\具有特殊含义,因此您需要覆盖转义序列,将其视为具有另一个转义字符的普通字符。

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

希望它有助于尽力而不是迟到:)