【问题标题】:How to remove the text inside a brackets [duplicate]如何删除括号内的文本[重复]
【发布时间】:2021-02-03 13:10:15
【问题描述】:

如何删除括号内的文字。当使用类型 Galaxy s10 进入输入标签。它将触发自动完成并显示类似这样的内容

Galaxy s10 (Samsung)
Galaxy s10 Pro (Samsung)

所以当用户选择Galaxy s10 (Samsung) 时,它会插入到输入标签中。如何在 (Samsung) 传入数据库之前将其删除。

【问题讨论】:

  • yourString = yourString.Replace("(Samsung)", string.Empty).Trim()?但是,除了“(三星)”之外,其他任何东西都不起作用。
  • 另一种选择是在您的字符串中获取( 的索引,然后使用.Remove(...) 几乎从该索引中删除所有字符。
  • 而不是操作字符串 - 使用具有两个值的对象 NameValue,其中 Name = "Galaxy s10 (Samsung)"Value = "Galaxy s10"。映射名称属性以显示文本并将值属性映射到 html 中的选定值。

标签: c# asp.net-mvc model-view-controller


【解决方案1】:

医学博士。 RAKIB HASAN 提供了一个很好的简短答案,但它需要理解正则表达式,这可能会令人生畏。

Link to demo in DotNetFiddle

这是一种替代方法,只需要了解两种方法:

  1. 索引 s。子串
    var input = "User Name (email@address.com) (more)";
    var p1 = input.IndexOf("(");
    string output = "";
    var p0 = 0;
    while (p1 >= 0) {
        var p2 = input.IndexOf(")", p1 + 1);
        p0.Dump();
        if (p2 >= 0) {
            output += input.Substring(p0, p1 - p0) + input.Substring(p1 + 1, p2 - p1 - 1);
            p0 = p2 + 1;
            p1 = input.IndexOf("(", p2 + 1);
        }
    }
    
    Console.WriteLine(output);

【讨论】:

  • 我想删除括号以及括号内的文本
  • 看看下面这行代码,看看你能不能弄清楚它在做什么,一旦你这样做了,很容易调整:'output += input.Substring(p0 , p1 - p0) + input.Substring(p1 + 1, p2 - p1 - 1);'如果您不理解该行,请尝试将其中一些数据写入控制台进行检查。
猜你喜欢
  • 1970-01-01
  • 2013-11-17
  • 2012-03-10
  • 1970-01-01
  • 2021-06-07
  • 2018-05-13
  • 2016-08-24
  • 1970-01-01
  • 2018-12-19
相关资源
最近更新 更多