Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Usuwanie textu od do


Rekomendowane odpowiedzi

Opublikowano

Witam, szukałem poradnika jak zmienić wszystkie znaki w tekście np. od litery "d" do cyfry "3" na wybrany przeze mnie wyraz.

Przykład: nskjedfeffdsvbvc3dsdcxf na nskjedomdsdcxf 

Konkretnie chciałbym zmienić tekst od pewnej litery do innej litery w tekście.

ja wciagałem kakao xD ale szału nie było ;p

Opublikowano

Użyj regexów albo pokombinuj z szukaniem pozycji kolejnych liter i zastępowaniem jakiegoś fragmentu od pozycji do pozycji.

Opublikowano

Możesz coś więcej powiedzieć na ten temat? Właśnie przeszukuję cały internet aby znaleźć coś takiego o czym mówisz. Wszędzie jest jak zastąpić konkretny tekst a ja chcę od litery do litery, tym bardziej, że długość pomiędzy nimi będzie się zmieniać.

ja wciagałem kakao xD ale szału nie było ;p

Opublikowano

Jeśli chodzi o pierwsze rozwiązanie, to robisz sobie obiekt System.Text.RegularExpressions.Regex z odpowiednim wyrażeniem(da się robić zmienną ilość znaków i bardziej skomplikowane rzeczy bez problemu - naucz się regexów(po polsku: wyrażenia regularne)) i wywołujesz System.Regex.Replace.

Jeśli chodzi o drugie rozwiązanie, to musisz napisać sobie to sam.

Opublikowano

Nie chcę wyjść na lenia, ale czy mógłbyś to dla mnie napisać? Zaraz sam spróbuję ale nie wiem czy ogarnę, potrzebuję tylko tego kodu.

ja wciagałem kakao xD ale szału nie było ;p

Opublikowano

Możesz to zrobić także z użyciem metody String.SubString. Przykład

string s = "nskjedfeffdsvbvc3dsdcxf na nskjedomdsdcxf ";
string newText = "nowy";           
string oldText = s.Substring(s.IndexOf("d") + "d".Length, s.IndexOf("3") - s.IndexOf("d") - "d".Length);          
string result = s.Replace(oldText, newText);
Console.WriteLine(result);

oraz z uzyciem Regex

string s = "nskjedfeffdsvbvc3dsdcxf na nskjedomdsdcxf ";
string newText = "nowy";
string result = Regex.Replace(s, new Regex(@"d(.*)3").Match(s).Groups[1].ToString(), newText);
Console.WriteLine(result);
 

 

Opublikowano

kompletnie mi ten kod nie działa, on jest napisany w visual basic? Próbowałem go zmieniać lecz nic nie dało. Wiem mniej więcej o co chodzi ale chciałbym zobaczyć resultat w visualu.

ja wciagałem kakao xD ale szału nie było ;p

Opublikowano

No spoko, tylko ja nie chcę się tego uczyć, potrzebuję tylko wiedzieć jak zamienić fragment tekstu od litery do litery, to wszystko, chciałbym aby ktoś napisał mi poprawny kod w programie visual basic i to wszystko :) Potrzebuję go do mojego programu, dalej ta wiedza nie będzie mi już potrzebna ;)

ja wciagałem kakao xD ale szału nie było ;p

Opublikowano

Kod który podałem jest w C#. W vb wygląda on tak

Dim s As String = "nskjedfeffdsvbvc3dsdcxf na nskjedomdsdcxf "
Dim newText As String = "nowy"
Dim oldText As String = s.Substring(s.IndexOf("d") + "d".Length, s.IndexOf("3") - s.IndexOf("d") - "d".Length)
Dim result As String = s.Replace(oldText, newText)
Console.WriteLine(result)
Dim s As String = "nskjedfeffdsvbvc3dsdcxf na nskjedomdsdcxf "
Dim newText As String = "nowy"
Dim result As String = Regex.Replace(s, New Regex("d(.*)3").Match(s).Groups(1).ToString(), newText)
Console.WriteLine(result)
 

 

Opublikowano

Ehhh zmieniłem go tak samo jak ty lecz miałem błędy, twój działa bez zarzutu. @qweqwedc dzięki wielkie myślę, że uda mi się dopasować go do swojego programu, każdemu dziękuję z osobna, że poświęciliście na mnie swój czas. W razie pytań będę jeszcze pisał ;)

Pozdrawiam.

ja wciagałem kakao xD ale szału nie było ;p

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...