获取字符串中两个复杂字符串之间的字符串C# [关闭]

问题描述 投票:0回答:3

我已经分享了下面的相关图片。

enter image description here

图像中的文字;

“C:\Users\Hp\OneDrive-blablablabla\Masaustu\EdaGorsel\4.PNG 经理经理 2022/12/12 ddd V1.0"

  1. 我只想要上面帖子中的4.PNG

2.我不应该使用特殊名称或文件名

3.Ex: 之间像这样

我希望我能够解释我的问题

c# asp.net string split substring
3个回答
3
投票

您可以使用正则表达式匹配来获取网址的这一部分:

private Regex _regex = new Regex(@"^.*\\(?<Image>.*\.PNG)\\.*$");

(您可以测试正则表达式这里

然后用它来读取比赛:

var result = _regex.Match(url).Groups["Image"].Value;

另一个更简单的解决方案是使用:

url.Split("\\")[6];

仅当搜索的部分始终位于同一位置时,此功能才有效。


2
投票

您可以使用 .Split 函数将字符串拆分为许多较短的字符串:

string[] words = path.Split("\\");

使用双\来转义字符..

如果您不能保证您需要的字符串始终位于同一位置,您可以使用它从列表中获取它:

string neededString = words .FirstOrDefault(str => str.Contains(".PNG"));

这将返回字符串中包含“.png”的任何单词的第一个实例。


1
投票

有几种方法

  1. 如果您知道字符串中

    \
    的数量,则将其拆分(
    str.Split('\\')
    )并获得想要的索引

  2. 使用正则表达式提取文件名

© www.soinside.com 2019 - 2024. All rights reserved.