Klinkers weg laten

Status
Niet open voor verdere reacties.

Samdeezel

Gebruiker
Lid geworden
8 aug 2011
Berichten
61
Ik zoek een stukje code die ik aan mijn programma zo kunnen toevoegen;
De code moet namelijk alle klinker weglaten die in een zin zitten.
Deze heb ik via een textbox ingevoerd en dan op een button klicken,
alle klinkers zijn uit mijn zin?
Bestaat zo een code?:confused:


Al vast bedankt voor jullie hulp:thumb:
Deezel
 
Visual Basic ben ik niet echt bekend. Maar je kunt toch je zinnen allemaal doorlopen en kijken of het een klinker is.

Ik stel me dat als volgt voor:

Je maakt een array met alle karakters die er niet in voor mogen komen ( a,e,o,u,i)
en dan ga je elke karakter uit je zin kijken of ie in_array($letter) is.

als dat het geval is dan vervang je hem met een "" bijv. een "Leeg karakter".

Is niet de mooiste manier maar waarom zou je dit eigenlijk willen?
 
Geen idee of dat bestaat maar is wel heel eenvoudig te maken.
Je kunt in het OnChange event van het tekstveld al voorkomen dat ze ingetikt worden.
 
Zoals al gezegd. het is redelijk eenvoudig. Kwestie van de string doorzoeken op klinkers en deze vervangen door "" (=niks). Er is bij mijn weten geen standaard functie voor.
 
Het is juist dat weglaten dat ik niet goed begrijp, hoe kan ik dat "vervangen" of "weglaten"?
Welk simpel stukje code? Ik had al een stukje code maar ik weet niet hoe ik als het de klinkers bevat
moet weg doen 'deleten'.
 
Als ik vanavond thuis ben kan ik dat stukje code wel voor je maken maar ik verwacht dat voor die tijd iemand anders het al voor je zal hebben gedaan ;-)
 
Het is niet echt vervangen eerder weg laten en sorry maar dit geld enkel voor VBSCRIPT?
en ik gebruik enkel VB.NET zonder scripts maar zou wel handig geweest zijn ;)
 
Klopt de link is voor VBScript. Echter het commando in VB.net is hetzelfde. Daarnaast kun je in .net ook nog string.replace gebruiken.


Voor wat betreft het weglaten. Er bestaat geen weglaat functie bij string. Wel kun je 'iets' vervangen door 'niets' . Het resultaat is hetzelfde als weglaten.
 
ik heb al zo iets
function IsKlinker(pTeken as string) as boolan
select case pTeken
case "A", "E", "I", "U", "O", "Y"
return true
case else
return false
end select
end function
 
Code:
function IsKlinker(pTeken as string) as string
IsKlinker = pTeken
select case pTeken
   case "A", "E", "I", "U", "O", "Y"
      IsKlinker = ""
end select
end function

Naam van de function is nu niet zo handig omdat er meer gebeurd; kan hem beter removeKlinker of zo noemen.

Ron
 
Laatst bewerkt:
Maak er dan Select Case Ucase(pTeken) van, want nu worden alleen hoofdletters afgevangen.
 
Laatst bewerkt:
Het volgende kun je gebruiken op het klik event van een knop

Code:
Private Sub CommandButton1_Click()
    Dim i As Integer
    Dim t As String
    
    For i = 1 To Len(TextBox1.Text)
        Select Case UCase(Mid(TextBox1.Text, i, 1))
            Case Is <> "A", "E", "I", "U", "O", "Y"
                t = t & Mid(TextBox1.Text, i, 1)
        End Select
    Next

    TextBox1.Text = t
End Sub
 
Laatst bewerkt:
Deze functie haalt alle klinkers uit een string:

[cpp]Function VerwijderKlinkers(Zin As String) As String
For Each letter As Char In Zin
Select Case UCase(letter)
Case "A", "E", "I", "U", "O", "Y"
Zin = Zin.Replace(letter, "")
End Select
Next
Return Zin
End Function[/cpp]
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan