[VB.NET] char.IsSymbol

Pagina: 1
Acties:

  • toost
  • Registratie: Januari 2002
  • Laatst online: 30-01-2025
Ik heb een string waarvan ik wil weten of het de eerste en of de laatste waarde een symbool is. Nu vond ik bij msdn de volgende functie: "Char.IsSymbol"

Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Imports System

Module IsSymbolSample

    Sub Main()

        Dim str As String
        str = "non-symbolic characters"

        Console.WriteLine(Char.IsSymbol("+"c))      ' Output: "True"
        Console.WriteLine(Char.IsSymbol(str, 8))    ' Output: "False"

    End Sub

End Module


Lijkt me vrij duidelijk maar,

Visual Basic .NET:
1
2
3
4
Dim strPiet As String
        strPiet = "-"

        Console.WriteLine(Char.IsSymbol(strPiet, 0)) 


dit zou toch true moeten geven, maar hij blijft false terug geven, wie kan me hierbij helpen ?

This space for rent. Serious inquiries only please.


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Wat doen de voorbeelden uit de MSDN? Werken die wel?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 01-05 19:09

pjvandesande

GC.Collect(head);

De - word niet als een symbol gezien. Wat wil je er precies tussenuit filteren?

Even elke mogelijkheid voor je uitgeprobeert in de Command Window en de resultaten zijn alsvolgt:

C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
?Char.IsControl('-')
false
?Char.IsDigit('-')
false
?Char.IsLetter('-')
false
?Char.IsLetterOrDigit('-')
false
?Char.IsLower('-')
false
?Char.IsNumber('-')
false
?Char.IsPunctuation('-')
true
?Char.IsSeparator('-')
false
?Char.IsSurrogate('-')
false
?Char.IsSymbol('-')
false
?Char.IsUpper('-')
false
?Char.IsWhiteSpace('-')
false

[ Voor 88% gewijzigd door pjvandesande op 26-04-2005 15:33 ]


  • toost
  • Registratie: Januari 2002
  • Laatst online: 30-01-2025
de bedoeling is dus dat als een zin uitelkaar gehaald wordt (gescheiden op " ") dat de woorden gecleaned worden. Dus alle symbolen voor en na het woord er uit. Misschien moet ik het dan wel anders aanpakken en gaan testen op <> IsNumber en <> IsLetter ofzoiets. Ik had idd zelf inmiddels ook al gezien dat - niet als symbool wordt gezien | wordt wel als symbool gezien.

of misschien dat ?Char.IsLetterOrDigit('-') wel iets is

[ Voor 12% gewijzigd door toost op 26-04-2005 15:50 ]

This space for rent. Serious inquiries only please.


  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 01-05 19:09

pjvandesande

GC.Collect(head);

Ik denk dat IsLetterOrDigit wel wat is, altans ik neem aan dat het voor de spellchecker is. :)

  • toost
  • Registratie: Januari 2002
  • Laatst online: 30-01-2025
ja precies daar is het voor, thnx voor het mee denken. Ben nu weer stapje verder denk ik :P

This space for rent. Serious inquiries only please.


  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 01-05 19:09

pjvandesande

GC.Collect(head);

toost schreef op dinsdag 26 april 2005 @ 16:03:
ja precies daar is het voor, thnx voor het mee denken. Ben nu weer stapje verder denk ik :P
Even een tip, een simpelen manier om de een char type te testen is om even in het Command Window van Visual Studio bijvoorbeeld hetvolgende te type:

C#:
1
?Char.IsNumber('-')


Dit kan een hoop test werk schelen. Misschien doe je het al zo en is mijn post overbodig, maargoed ik heb weer het idee dat ik iets nuttigs heb gepost ;)

  • toost
  • Registratie: Januari 2002
  • Laatst online: 30-01-2025
dat wist ik nog niet thnx :) btw de opzet werkt :)

Visual Basic .NET:
1
2
3
4
5
        If Char.IsLetterOrDigit(strTest, 0) = False Then
            txtTest.Text = txtTest.Text & NewLine & "Het is een symbool"
        Else
            txtTest.Text = txtTest.Text & NewLine & "Het is geen symbool"
        End If


doet wat ik wil :P nu nog ff met die string.Startswith en Endswith in me for loopje zetten en me filter is klaar :)

This space for rent. Serious inquiries only please.


  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 01-05 19:09

pjvandesande

GC.Collect(head);

toost schreef op dinsdag 26 april 2005 @ 16:54:
dat wist ik nog niet thnx :) btw de opzet werkt :)

Visual Basic .NET:
1
2
3
4
5
        If Char.IsLetterOrDigit(strTest, 0) = False Then
            txtTest.Text = txtTest.Text & NewLine & "Het is een symbool"
        Else
            txtTest.Text = txtTest.Text & NewLine & "Het is geen symbool"
        End If


doet wat ik wil :P nu nog ff met die string.Startswith en Endswith in me for loopje zetten en me filter is klaar :)
Je kunt de string ook anders appenden:

Visual Basic .NET:
1
txtTest.Text += NewLine & "Het is een symbool"

  • toost
  • Registratie: Januari 2002
  • Laatst online: 30-01-2025
thnx :) weer wat geleerd

This space for rent. Serious inquiries only please.


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 15:27

gorgi_19

Kruimeltjes zijn weer op :9

questa, gebruik dan &= ipv += :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • toost
  • Registratie: Januari 2002
  • Laatst online: 30-01-2025
hoezo gorgi ? += werkt toch goed?

This space for rent. Serious inquiries only please.


  • Rhapsody
  • Registratie: Oktober 2002
  • Laatst online: 15:53

Rhapsody

In Metal We Trust

+= is toch voor optellen in VB.NET, &= is voor een concatenatie.

🇪🇺 pro Europa!


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 15:27

gorgi_19

Kruimeltjes zijn weer op :9

toost schreef op dinsdag 26 april 2005 @ 21:36:
hoezo gorgi ? += werkt toch goed?
Impliciet casten is niet een methode waar je imho echt op moet vertrouwen als je weet dat je incorrect bezig bent en er betere methoden voor zijn.

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1