提取字符串的第二部分

时间:2016-12-07 05:20:12

标签: c# .net regex string

我总会有这样的字符串:

"/FirstWord/ImportantWord/ThirdWord"

如何提取ImportantWord?单词最多可以包含一个空格,它们与forward slash分开,就像我上面提到的那样,例如:

"/Folder/Second Folder/Content"
"/Main folder/Important/Other Content"

我总是希望得到第二个字(Second FolderImportant,考虑上面的例子)

4 个答案:

答案 0 :(得分:3)

怎么样:

string ImportantWord = path.Split('/')[2]; // Index 2 will give the required word

答案 1 :(得分:2)

我希望您不必将string pathFirst = "/Folder/Second Folder/Content"; string pathSecond = "/Main folder/Important/Other Content"; string reqWord1 = Directory.GetParent(pathFirst ).Name; // will give you Second Folder string reqWord2 = Directory.GetParent(pathSecond).Name; // will give you Important 选项与特定字符或某些正则表达式一起使用。由于输入是目录的合格路径,因此可以使用System.IO.Directory类的Directory.GetParent方法,该方法将为父目录提供DirectoryInfo。从那里你可以获取目录名称,这将是必需的文本。

您可以这样使用:

    coordinateList.add(new LatLng(19.216157, 72.920643));
    coordinateList.add(new LatLng(19.207537, 73.091977));
    coordinateList.add(new LatLng(19.012896, 73.012326));
    coordinateList.add(new LatLng(19.036265, 72.872251));

    PolygonOptions rectOptions = new PolygonOptions();
    rectOptions.addAll(coordinateList);
    rectOptions.strokeColor(Color.parseColor("#80FFFFFF"));
    rectOptions.strokeWidth(0);
    rectOptions.fillColor(Color.parseColor("#80ffb3ff"));
    polygon = mMap.addPolygon(rectOptions);
    polygon.setVisible(false);

附加说明:如果您需要在另一个级别获取名称,则可以嵌套方法{{1}}。

答案 2 :(得分:2)

你也可以试试这个:

var stringValue = "/FirstWord/ImportantWord/ThirdWord";
var item = stringValue.Split('/').Skip(2).First();   //item: ImportantWord

答案 3 :(得分:1)

有几种方法可以解决这个问题。最简单的是使用String.split

Char delimiter = '/';
String[] substrings = value.Split(delimiter);
String secondWord = substrings[1];

(您可能需要进行一些输入检查以确保输入格式正确,否则您将获得一些异常)

其他方式是在模式简单/

时使用regex

如果你确定这是一条路径,你可以在这里使用其他答案