![](/img/trans.png)
[英]Is it possible to replace a part of a string with a dynamic 2 way binding?
[英]Replace part of text in a dynamic string
讓我們以這個字符串為例:
D:/firstdir/Another One/and 2/bla bla bla/media/reports/Darth_Vader_Report.pdf
我想剪切路徑的第一部分:
D:/firstdir/Another One/and 2/bla bla bla
並將其替換為**../**
,並保留路徑的第二部分( media/reports/Darth_Vader_Report.pdf
)
如果知道長度或大小,可以使用Replace
或Substring
。 但是由於字符串的第一部分是動態的,我該怎么做?
在對StriplingWarrior提出問題之后,我意識到我可以做得更好。
目的是替換/media
后面的所有內容。 “ media”目錄是靜態的,並且將始終是路徑的決定性部分。
您可以執行以下操作:
string fullPath = "D:/firstdir/Another One/and 2/bla bla bla/media/reports/Darth_Vader_Report.pdf"
int index = fullPath.IndexOf("/media/");
string relativePath = "../" + fullPath.Substring(index);
我沒有檢查它,但我認為它應該可以解決問題。
使用正則表達式:
Regex r = new Regex("(?<part1>/media.*)");
var result = r.Match(@"D:/firstdir/Another One/and 2/bla bla bla/media/reports/Darth_Vader_Report.pdf");
if (result.Success)
{
string value = "../" + result.Groups["part1"].Value.ToString();
Console.WriteLine(value);
}
祝好運!
我將編寫以下正則表達式模式,
String relativePath = String.Empty;
Match m = Regex.Match("Path", "/media.*$");
if (m.Success)
{
relativePath = string.Format("../{0}", m.Groups[0].Value);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.