首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将一个已定义的字符串从另一个字符串中拆分出来,并获得拆分后的第一项

如何将一个已定义的字符串从另一个字符串中拆分出来,并获得拆分后的第一项
EN

Stack Overflow用户
提问于 2016-06-22 18:04:47
回答 5查看 93关注 0票数 0

我有这个字符串D:\ASN\Documents\ENU\LO\ANL\File\05003ede-59bf-45c6-bb57-a6111e9f18e0\linux-cheat-sheet.pdf,我想从上面的字符串中排除这个字符串D:\ASN\Documents\ENU\LO,然后在拆分后获得第一个字符串(在本例中是ANL)。

我尝试了这样的东西:

代码语言:javascript
复制
string fullpath = "D:\\ASN\\Documents\\ENU\\LO\\ANL\\File\\05003ede-59bf-45c6-bb57-a6111e9f18e0\\linux-cheat-sheet.pdf"
string[] sep = new string[]{"D:\\ASN\\Documents\\ENU\\LO"};
string [] result = fullpath.split(stringSeparators, StringSplitOptions.RemoveEmptyEntries);

  foreach (string s in result)
            {
                Console.Write(s.Substring(s.IndexOf(@"\") + 1));
            }

但这给了我ANL\File\05003ede-59bf-45c6-bb57-a6111e9f18e0\linux-cheat-sheet.pdf"。相反,我只需要ANL。怎样才能做到这一点呢?有没有别的方法可以代替这种方式。

提亚

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2016-06-22 18:13:43

代码语言:javascript
复制
var result = fullpath.Replace(samplePath, "").Split('\\')[1];

您可以将第一部分(samplePath)替换为空,删除它(或者您可以使用子字符串获得fullPath的第二部分,计算samplePath的字符数),然后将结果拆分为'\',得到第二个匹配项,这是您预期的结果。

下面是一个工作版本:https://dotnetfiddle.net/k4tfGP

票数 2
EN

Stack Overflow用户

发布于 2016-06-22 18:09:34

当第二个字符串看到\时,您能对它进行拆分吗?

代码语言:javascript
复制
String sampleString = "ANL\File\05003ede-59bf-45c6-bb57-a6111e9f18e0\linux-cheat-sheet.pdf"";
String[] stringArray = sampleString.split("\");
String wantedString = stringArray[0];
票数 2
EN

Stack Overflow用户

发布于 2016-06-22 18:13:43

这不是split()的目的。split()通常用于根据分隔符将字符串划分为多个部分。在您的例子中,您可能希望使用它通过拆分'\‘来分隔子文件夹。

但是您想要的是其他东西--删除一段文本。如果您知道文本将始终位于开头,请尝试以下操作:

代码语言:javascript
复制
string result = fullpath.Substring("D:\\ASN\\Documents\\ENU\\LO".Length);

这将返回原始字符串,减去前X个字符,其中X恰好是要删除的字符串的长度。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37964805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档