Я хочу добавить слово между строкой после слова «Фото /», например:

string path ="C:/Users/tsgill/Desktop/myApp/Photo/11686_Snap1.png"

Вставьте слово "thumb /", например:

string path ="C:/Users/tsgill/Desktop/myApp/Photo/thumb/11686_Snap1.png"

Я пытаюсь разделить это, но не все правильно. дайте мне знать, как мне это легко сделать,

c#
-1
sandeep singh 11 Дек 2014 в 12:59

5 ответов

Лучший ответ

Вам следует использовать Path класс:

string path = "C:/Users/tsgill/Desktop/myApp/Photo/11686_Snap1.png";
path = Path.Combine(Path.GetDirectoryName(path), "thumb", Path.GetFileName(path));
3
Tim Schmelter 11 Дек 2014 в 10:04

ЕСЛИ вы точно знаете, где это нужно поставить, вы можете заменить:

string path = path.Replace("Photo", "Photo/thumb");
3
Vsevolod Goloviznin 11 Дек 2014 в 10:01

Если вы имели в виду, что хотите добавить после последнего "/"

        string path = "C:/Users/tsgill/Desktop/myApp/Photo/11686_Snap1.png";
        path=path.Insert(path.LastIndexOf('/')+1, "Thumb/");
1
Tyress 11 Дек 2014 в 10:04

В дополнение ко всем другим ответам (ответы Тима Шмелтера кажутся самыми чистыми ИМХО, но это зависит от ваших потребностей), я просто хочу добавить, что если вам нужно больше контроля над каждой папкой, составляющей ваш каталог, вы можете разделить и управлять ими. с использованием :

string[] directories = mypath.Split(Path.DirectorySeparatorChar);

Затем перестройте его, добавив недостающую часть подкаталога в нужное место.

Примечание: как указано, это не полный ответ, а дополнение к другим.

0
AFract 11 Дек 2014 в 10:22

Вот способ сделать это динамически:

public string modify(string yourPath,string yourInsertedWord, string yourWordToChange)
{ 
    int index = yourPath.LastIndexOf(yourWordToChange) 
    string stringresult = yourPath.insert(index,yourInsertedWord);
    return stringresult;
}
0
AngularLover 11 Дек 2014 в 10:25