【问题标题】:string capturing before / symboal [duplicate]/符号之前的字符串捕获[重复]
【发布时间】:2014-09-19 04:23:52
【问题描述】:

假设我有一个字符串:

string a = "abc&dcg / foo / oiu";

现在我希望输出是

"abc&dcg"

我试过了:

string output= a.Substring(a.IndexOf('/'));

但它返回最后一部分而不是第一部分

我也尝试过trim(),但没有提供结果。

【问题讨论】:

  • 感谢快速回答的家伙,但是让我们说 g 和 / 之间有一个空格,我如何用相同的一行代码来消除它?谢谢
  • 感谢回答者和 TrimEnd(' ');消除输出的最后一个空格

标签: c# string


【解决方案1】:

试试这个:

string result = a.Split('/')[0].Trim();

拆分操作将为您提供由 '/' 分隔的 3 个子字符串,您可以通过指定索引来选择所需的任何一个。

【讨论】:

    【解决方案2】:

    试试这个

     string a = "abc&dcg / foo / oiu";
     string output = a.Substring(0, a.IndexOf("/"));
     Console.WriteLine(output);
    

    它会显示

    abc&dcg 
    

    【讨论】:

      【解决方案3】:

      试试

      string output;
      if (a.IndexOf('/')>=0) { output = a.Split('/')[0].Trim() };
      

      这将防止错误情况 a 不包含任何 /

      【讨论】:

      • 我已更改为Trim()since replace 会替换所有空格,包括分隔/(如果存在)之前的单词的空格
      • 如果是这样的 abc def & sdf / jfdkjf ,我只想得到 abc def & sdf,它只消除了最后一个空格,谢谢!!
      • 它将返回 abc def & sdf。不对吗?请注意,我认为replace 可能会发生这种情况,并将我的答案更改为Trim
      • 我认为 trimend() 可以解决问题
      • 是的,谢谢你的帮助
      猜你喜欢
      • 2018-03-05
      • 2018-04-14
      • 2015-02-23
      • 1970-01-01
      • 2012-07-15
      • 2021-01-09
      • 2014-12-04
      • 1970-01-01
      • 2015-10-16
      相关资源
      最近更新 更多