Otóż w moim projekcie mam funkcję sprawdzającą czy w tekście znajduje się pewne zdanie - <div id="costam">
Problem polega na tym że to zdanie zawiera cudzysłów i gdy stosuję komendę
If TextBox8.Text.Contains("<div id="costam">") Then ....
program interpretuje tą komendę jako sprawdzenie czy zdanie zawiera div it= zamiast <div id="cośtam">
Wie ktoś może jak sobie z tym poradzić ?
To tak czy siak "zamknie" się po drugim cudzysłowie (więc znowu będzie szukało tylko <div id=.
Moja propozycja: Contains("<div id='costam'>") <- tak, apostrofy :P
Teraz jako słowo interpretuje "<div id=""costam"">"
[3] zaraz wypróbuję
---
niestety...
Visual Basica nie widziałem nigdy na oczy, ale pewnie też są tam stringi? ;]
string text = "<div id='costam'>";
If TextBox8.Text.Contains(text) Then ‹...›
EDIT: Wróć... Coś nie tak ;D
EDIT: Ok, już prędzej... Jeśli dalej się pluje, to już nie wiem... W ASPie (i z resztą nie tylko) w takich sytuacjach wstawia się apostrofy i wszystko działa.
Ok, popytam jeszcze na innych specjalistycznych forach, ale jeśli ktoś wpadłby na rozwiązanie to może je napisać tutaj albo podesłać mi na [email protected], ta jedna rzecz rujnuje cały mój program który piszę już od pięciu godzin :(
A musisz sprawdzać, czy występuje CAŁY ten string? Nie możesz po prostu szukać samego ID tego div'a? Z reguły ID divów są unikalne, więc jeśli pojawi się ten konkretny identyfikator, to RACZEJ cały div też tam jest.
Skąd w ogóle bierze się ten tekst w tym TextBoxie? Pobierany jest z jakiegoś pliku, wpisywany jest z palca przez użytkownika?
Arxel, Toshi ==> Błąd. W VB dowolnym znak " wstawia się jako "" :)
VicFirth ==> W podpowiedzi przejedź w dół, aż będziesz miał zestawienie na wyszukiwanie stringa, a nie chara. Nie wiem skąd to wynika, ale po wybraniu takiej konstrukcji wyszukiwanie jako
If TextBox8.Text.Contains("<div id=""costam"">") Then ....
zadziała
Do jednego textboxa pobierane jest źródło pewnej strony internetowej w którym id np. "cośtam" występuje kilka razy,a string "<div id="costam"> tylko raz, a w dalszej części komendy chodzi o to żeby program pobierał m.in linię znajdującą się pod linią zawierającą ten string do innego textboxa :>
Legrooch jeśli chodzi ci o podpowiedź która pojawia się przy napotkaniu błędu w działaniu programu to podpowiedź która mi się pojawia nie dotyczy błędu przy wyszukiwaniu stringa ( za dużo zabezpieczeń w przypadku wystąpienia błędu :) ), wolałbym samemu zmienić co trzeba niż żeby zrobił to za mnie projektor.
Chyba wpadłem na prostsze rozwiązanie, zaraz zobaczę czy zadziała.
---
Dobra jakoś sobie z tym poradziłem kombinując z liniami w źródle strony, wielkie dzięki wszystkim za pomoc :)
If TextBox8.Text.Contains("<div id=\"costam\">") Then
A takie cos nie przejdzie ? Zawsze mozesz zrobic wlasna funkcje Contains przelatujaca kazdy char stringa.
@Down: dla C++ takze.
VicFirth ==> Chodzi mi o intelisense. Po wpisaniu metody przewiń w dół możliwości, aż będziesz mieć dostępnego stringa zamiast char. Nie mam bladego pojęcia, jak to wpływa na działanie VS, ale podobna sytuacja ma miejsce przy użyciu split na stringu. Jeżeli walniesz split, to w kodzie będzie wyszukiwany dowolny znak zamiast ciągu tekstu.
W skrócie - po wpisaniu nazwy metody (czyli textbox8.text.contains) pojawia Ci się informacja, co metoda zgarnia i co daje. Przeklikaj to do szukania stringa zamiast char i powinno być ok :)
+ oczywiście podwójne cudzysłowy.
Edit:
cruiser ==> To jest dla C#. W VB.NET nie ma sensu dorzucać własnego dziabania.
Ok, sposób legroocha działa :) Thx !
Problem nr 2
W textboxie1 mam takie zdanie jak na przykład "obrazek.jpgcostamblablabla"
Chciałbym skopiować do textboxa2 zdanie z textboxa1 tak, żeby zawierało wszsytkie znaki DO ".jpg", czyli zdanie bez znaków "costamblablabla"
To nie może być komenda typu usuń 15 ostatnich znaków z prawej strony bo ilość tych znaków po lewej i prawej stronie od .jpg będzie różna ( więc kopiowanie iluśtam pierwszych znaków od lewej też odpada)
TextBox8.Text = TextBox9.Text.Split("jpg")(0)
TextBox8.Text = TextBox9.Text + "jpg"
Teraz działa znakomicie ! Dziękuję legroochu :)