【问题标题】:How to recognize operators in a string如何识别字符串中的运算符
【发布时间】:2015-11-08 11:37:52
【问题描述】:

如果我有这样的字符串:

string a = "<=1.0.5" or "=1.0.5" or "!=1.0.5";

如何将带运算符的部分和带版本号的部分分别放入变量中?

【问题讨论】:

  • 那么字符串 always 运算符然后是版本号吗?如果是这样,只需找到第一个数字并按此方式拆分...
  • 如果它们总是以您提供的方式出现,您可以检查它是否以数字或符号开头。并且只是继续循环并附加到一个变量,直到系统检测到一个数字。然后你在那个变量中有运算符

标签: c# .net operators


【解决方案1】:

如果字符串中始终存在相等运算符:

string a = "<=1.0.5"; // "=1.0.5" or "!=1.0.5" or "==1.0.5"
int indx = a.LastIndexOf('=') + 1;  
string op = a.Substring(0, indx);  //<=
string version = a.Substring(indx); //1.0.5

【讨论】:

    【解决方案2】:

    某种正则表达式:

    var str = "=1.0.5";
    var regex = new Regex("([<>=!]+)(.*)");
    var result = regex.Match(str);
    Console.WriteLine(result.Groups[1].Value);
    Console.WriteLine(result.Groups[2].Value);
    

    【讨论】:

      猜你喜欢
      • 2016-10-24
      • 2015-02-16
      • 1970-01-01
      • 1970-01-01
      • 2018-08-31
      • 1970-01-01
      • 1970-01-01
      • 2014-10-02
      • 2015-04-03
      相关资源
      最近更新 更多