[vb.net] String manipulatie

Pagina: 1
Acties:
  • 57 views sinds 30-01-2008

  • Mavrick_rulez
  • Registratie: Maart 2001
  • Laatst online: 05-09-2006
Ik wil het volgende voor elkaar krijgen:

Een dubbele naam, bv. Jan Willem daar wil d.m.v. string manipulatie de spatie tussen uit halen.

Ik zat zelf te denken aan .replace maar dat is het niet helemaal. Tevens ben ik op zoek naar een commando die in de string 'kijkt' of er een spatie in zit.


Schematisch:

If string bevat [spatie] then
Haal de spatie er uit en geef de string door
End if

Wie o wie heeft er een oplossing voor.

  • TweakersOnly
  • Registratie: September 2000
  • Laatst online: 08:33
if (instr(strNaam," ") >= 1) then
strNaam = Replace(strNaam," ","")
end if

  • Mavrick_rulez
  • Registratie: Maart 2001
  • Laatst online: 05-09-2006
Ok, bedankt. Maar ik snap die >=1 ff niet. Zou je die nog kunnen toelichten????

  • TweakersOnly
  • Registratie: September 2000
  • Laatst online: 08:33
De inStr is een standaard vb-functie maar toch. De instr functie retourneert de de plaats in de string waar de gezochte tekst voor het eerst voorkomt.
Als de gezochte string niet voorkomt, wordt 0 of -1 geretourneerd.

M.a.w. als de functie een getal > 0 retourneert, is de gezochte string gevonden.

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
string.replace( " ", "" )

doet toch precies wat jij wilt?

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
In VB.NET is string een class.

Die heeft een aantal members , zoals IndexOf, waarmee je kunt kijken op welke index eenb epaalde value in de string heeft.

Verder kan je ook gewoon een string.Replace doen, alhoewel jij zegt dat het dat niet helemaal is? Waarom dan niet?
Verder kan je ook eens de .NET documentatie erbij pakken.

https://fgheysels.github.io/


  • dotcode
  • Registratie: Augustus 2003
  • Laatst online: 14-08 11:19

dotcode

///\00/\\

Een string is imutable dus je kan alleen een nieuwe string maken. Hierbij wat ik in C# zou doen, kan ik beter dan VB.net en heeft de zelde API:

C++:
1
2
3
4
5
6
7
8
9
10
11
12
string ReplaceFirstSpace(string strIn)
{
int iFirstSpace = strIn.IndexOf(' ');
if (iFirstSpace != -1) // -1 mislukt geen spatie
{
return strIn.SubString(0,iFirstSpace)+strIn.SubString(iFirstSpace+1,strIn.Length-iFirstSpace-2) ;
}
else{
throw new Exception("No space in string");
}
}
}


Dit moet wel ongeveer werken, niet getest ofzo....

  • Mavrick_rulez
  • Registratie: Maart 2001
  • Laatst online: 05-09-2006
Ok..... nog eentje....

Ik wil van een achternaam de eerste 4 letters hebben. Dit lukt. is geen enkel probleem, MAAR..... Als de achternaam bestaat uit 3 letters (bv. Vos) dan moet tot de 4e letter aangevuld worden met een 0. dus zal het vos0 worden. Opzich die 0 eraan plakken is het probleem ook niet maar hoe laat je de aantal letters tellen??

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Hier kan je gewoon

string.PadRight en string.PadLeft voor gebruiken. Het is natuurlijk ook een kunst om de documentatie gewoon even door te lezen.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
Gebruik nu eens je .NET documentatie, en zoek eens de memberfuncties op van het string object.

Je komt dan al gauw uit op PadRight bv.

P&W is geen forum dat je als persoonlijke helpdesk kunt beschouwen.
Er wordt hier van je verwacht dat je zelf ook enige moeite doet om je probleem op te lossen. Ik had je eerder in dit topic al eens op de .NET help gewezen, en blijkbaar sla je die tip gewoon in de wind.
Als je dat had gedaan, had je veel sneller een antwoord op je vraag gehad dan ze hier te posten en dan maar te wachten totdat iemand anders ff die help gebruikt voor jou.

[ Voor 63% gewijzigd door whoami op 05-09-2003 14:58 ]

https://fgheysels.github.io/


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 17-08 23:56

Janoz

Moderator Devschuur®

!litemod

Mavrick_rulez: Misschien is het een ID om even door de msdn heen te bladeren of om een boek te kopen. De vragen die je hier nu stelt zijn eigenlijk heel simpel zelf wel uit te vinden. Alles is basis VB functionaliteit en zal in elke string tutorial wel worden uitgelegd.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'

Pagina: 1

Dit topic is gesloten.