猿问

如何在相同字符之间提取字符串

我有一个字符串“ABD-DDD-RED-Large”,需要提取“DDD-RED”


使用拆分我有:


  var split = "ABD-DDD-RED-Large".Split('-');

  var first = split[0];

  var second = split[1];

  var third = split[2];

  var fourth = split[3];

  string value = string.Join("-", second, third);

只是想知道是否有更短的代码


拉风的咖菲猫
浏览 171回答 3
3回答

慕侠2389804

我要出去走走,并假设您的字符串始终是四个子字符串除以三个连字符。这样做的主要好处是它只需要基本的 String 库。您可以使用:int firstDelIndex = input.IndexOf('-');int lastDelIndex = input.LastIndexOf('-');int neededLength = lastDelIndex - firstDelIndex - 1;result = input.Substring((firstDelIndex + 1), neededLength);这足够通用,不用关心除了连字符之外的任何实际输入是什么。您可能希望在方法的开头添加一个 catch 使用它来确保在尝试拉出请求的子字符串之前输入字符串中至少有两个连字符。
随时随地看视频慕课网APP
我要回答