【问题标题】:Splitting a string in the format domain\alias [duplicate]以 domain\alias 格式拆分字符串 [重复]
【发布时间】:2016-09-07 12:22:02
【问题描述】:

我有一个用户输入变量,其中包含格式为:"domain\alias" 的字符串,我需要将其拆分为两个不同的字符串:域和别名。

我在某处听说过将字符串转换为文字,但我不明白这对我有什么帮助。

【问题讨论】:

  • doamin --> domain 错字?你能举个例子吗?
  • 这里是例子。是的,这是一个错字。我的变量是 xyz。包含域\别名形式的字符串。现在我想将 xyz 拆分为两个不同的字符串:域和别名

标签: c#


【解决方案1】:
string input = @"domain\alias";
int inputindex=  input.IndexOf("\\");           
string domain = input.Substring(0, inputindex);
string alias = input.Substring(inputindex+1);

【讨论】:

  • 如果输入不包含反斜杠 (\ ),则会抛出此错误,因为 IndexOf() 将返回 -1。
  • 是的。但是@dotnetman 提出的问题没有指定这个例外。是吗?
【解决方案2】:

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

它会给你一个包含内容的数组

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

如果您想在未指定域的情况下获取用户:

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

【讨论】:

  • 谢谢。但是说我在变量 xyz 中有一个字符串,那么上面的方法不起作用..请建议。
  • 事实上,在上述情况下它也不起作用,除非并且直到我在字符串前面加上'@'。
  • 嗯,@"domain\alias" 与写 "domain\\alias"完全一样。如果我们将@ 放在字符串前面,我们就不必转义反斜杠。 stackoverflow.com/questions/556133/…
猜你喜欢
  • 1970-01-01
  • 2010-11-03
  • 1970-01-01
  • 1970-01-01
  • 2017-07-22
  • 2011-07-06
  • 2011-09-03
  • 2016-03-15
  • 2017-02-05
相关资源
最近更新 更多