Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 02:59

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



stringmethode

Discussion on stringmethode within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Sep 2008
Posts: 13
Received Thanks: 0
stringmethode

Hallo,
ich suche eine Methode um herauszufinden ob ein string groß bzw. kleinschreibung enthält.
kennt ihr da eine?

bluescreen²
bluescreen² is offline  
Old 09/24/2008, 14:55   #2
 
mr.rattlz's Avatar
 
elite*gold: 0
Join Date: Aug 2005
Posts: 896
Received Thanks: 334
Da du jetzt nicht direkt gesagt hast um welche Programmiersprache es sich handelt ein generischer Vorschlag: Falls die verwendete Sprache es ermöglicht einen String in lowercase umzuwandeln könntest du das machen und dann vorher und nachher vergleichen. Wenn sie gleich sind war zuvor kein Großbuchstabe vorhanden
mr.rattlz is offline  
Old 09/24/2008, 15:30   #3
 
verT!c4L's Avatar
 
elite*gold: 0
Join Date: Aug 2005
Posts: 1,245
Received Thanks: 60
Sind in den meisten Programmiersprachen nicht entsprechende *RegEx dabei,
mit denen man etwas derartiges realisieren kann?

Ansonsten könnte man wohl auch ein pattern matching verfahren benutzen,
auf Basis der ASCII-Tabelle...

*RegEx = Regular Expressions
verT!c4L is offline  
Old 09/24/2008, 17:46   #4
 
elite*gold: 0
Join Date: Sep 2008
Posts: 13
Received Thanks: 0
lol,
ich idiot... ihr habt recht; ich hätte erwähnen sollen, dass es sich um c++ handelt..
naja. Ich kann auch eine sehr komplexe schleife machen die den string zeichenweise abspeichers und jedes Zeichen einzeln überprüft. Ich wollte nur wissen ob einer von euch so ne art "pussymethode" kennt, womit man sich leichter tut.

bluescreen²
bluescreen² is offline  
Old 09/24/2008, 21:41   #5

 
x]vIrus[x's Avatar
 
elite*gold: 37
Join Date: Apr 2004
Posts: 2,154
Received Thanks: 250
Quote:
Originally Posted by bluescreen² View Post
lol,
ich idiot... ihr habt recht; ich hätte erwähnen sollen, dass es sich um c++ handelt..
naja. Ich kann auch eine sehr komplexe schleife machen die den string zeichenweise abspeichers und jedes Zeichen einzeln überprüft. Ich wollte nur wissen ob einer von euch so ne art "pussymethode" kennt, womit man sich leichter tut.

bluescreen²

ansi c:
bool ContainsUpper(char* str)
{
for(int i = 0 ; str[i] != 0;i++) if (str[i] <=90) return true;
return false;
}

cpp.net:
bool ContainsUpper(string^ str)//oder so ähnlich :S
{
for(int i = 0 ; i<str.Length ;i++) if (str[i] <=90) return true;
return false;
}


achja, für containslower einfach den namen der funktion ändern und anstatt "<=90" ">90" schreiben

ums zu verstehn einfach die ascii tabelle ankucken, wenns nich tut - einfach meckern ^^
/edit, ansonsten gibts da sicherlich auch schon funktionen für, ich kenn sie aber nich auswendig :<
x]vIrus[x is offline  
Old 09/25/2008, 08:12   #6
 
mr.rattlz's Avatar
 
elite*gold: 0
Join Date: Aug 2005
Posts: 896
Received Thanks: 334
Quote:
Originally Posted by x]vIrus[x View Post
ansi c:
bool ContainsUpper(char* str)
{
for(int i = 0 ; str[i] != 0;i++) if (str[i] <=90) return true;
return false;
}

cpp.net:
bool ContainsUpper(string^ str)//oder so ähnlich :S
{
for(int i = 0 ; i<str.Length ;i++) if (str[i] <=90) return true;
return false;
}


achja, für containslower einfach den namen der funktion ändern und anstatt "<=90" ">90" schreiben

ums zu verstehn einfach die ascii tabelle ankucken, wenns nich tut - einfach meckern ^^
/edit, ansonsten gibts da sicherlich auch schon funktionen für, ich kenn sie aber nich auswendig :<
So was habe ich jetzt absichtlich nicht gebracht, weil ich nicht sicher war, ob es ein Ascii oder Unicode String ist
mr.rattlz is offline  
Old 09/25/2008, 09:41   #7


 
Cholik's Avatar
 
elite*gold: 4
Join Date: Aug 2008
Posts: 6,783
Received Thanks: 4,992
if its unicode you would just have to edit the for-call to i+2 :P
haha mr.rattlz failed ;9
Cholik is offline  
Old 09/25/2008, 09:49   #8
 
psych0o's Avatar
 
elite*gold: 0
Join Date: Mar 2007
Posts: 1,032
Received Thanks: 86
Wie wärs denn einfach, wenn man den original string zusätzlich in lowercase umwandelt und die beiden dann vergleicht?

mit php:
if ($string == stringtolower($string) return true; // String enthält keine Großbuchstaben

Weil bei deiner Methode, virus, wird das ergebnis auch dann true sein, wenn es kein Buchstabe ist sondern ein anderes zeichen aus der ascii tabelle, dessen Wert kleiner 90 ist.

//Edit: sehe gerade das rattlz die gleiche idee auch schon gepostet hat ^^
psych0o is offline  
Old 09/25/2008, 10:36   #9
 
elite*gold: 20
Join Date: Sep 2006
Posts: 1,100
Received Thanks: 184
Jetzt solltest du uns noch verraten ob du die String Class aus der string lib benutzt oder den String Typ aus der cstring lib, im ersten fall kannst du die tolower methode verwenden und wie bereits mehrfach vorgeschlagen mit dem alten String vergleichen, im zweiten fall suchst du dir die Entsprechende CString Function raus und machst das gleiche, ich bin mir nicht ganz sicher aber ich glaube das die String classe auch eine containslower/upper Methode hat, am besten schaust da mal nach.
Bot_interesierter is offline  
Old 09/25/2008, 10:45   #10
 
verT!c4L's Avatar
 
elite*gold: 0
Join Date: Aug 2005
Posts: 1,245
Received Thanks: 60
Ich wär dafür mal eine Syntax Highlightening für entsprechende Sources zu implementieren.
Das liest sich besser ^^ (im vim style oder so)
verT!c4L is offline  
Old 09/25/2008, 11:09   #11
 
mr.rattlz's Avatar
 
elite*gold: 0
Join Date: Aug 2005
Posts: 896
Received Thanks: 334
Quote:
Originally Posted by al_j View Post
if its unicode you would just have to edit the for-call to i+2 :P
haha mr.rattlz failed ;9
Well, this would work with utf-16, but what about utf-8?
mr.rattlz is offline  
Old 09/25/2008, 12:47   #12

 
x]vIrus[x's Avatar
 
elite*gold: 37
Join Date: Apr 2004
Posts: 2,154
Received Thanks: 250
wenn es sich um standard text handelt ist meine methode völlig ausreichend.

ansonsten:

ansi c:
bool ContainsUpper(char* str)
{
for(int i = 0 ; str[i] != 0;i++)
{
if ((( str[i] >='A' ) && (str[i] <='Z'))||(( str[i] >='a' ) && (str[i] <='z')))
{
if (str[i] <='Z') return true;
}
}
return false;
}

cpp.net:
bool ContainsUpper(string^ str)//oder so ähnlich :S
{
{
if ((( str[i] >='A' ) && (str[i] <='Z'))||(( str[i] >='a' ) && (str[i] <='z')))
{
if (str[i] <='Z') return true;
}
}
return false;
}
x]vIrus[x is offline  
Old 09/25/2008, 15:36   #13
 
elite*gold: 0
Join Date: Sep 2008
Posts: 13
Received Thanks: 0
wisst ihr ich hatte eigenlich vor das ganze mit zu machen. Geht das auch weil dan is string ein struct?
bluescreen² is offline  
Old 09/25/2008, 15:42   #14
 
elite*gold: 0
Join Date: Sep 2008
Posts: 13
Received Thanks: 0
lol
tut mir leid mein internet kackt ab also kann ichs nich mehr ändern ich meinte ich will "<string>" verwenden
bluescreen² is offline  
Old 09/25/2008, 18:02   #15

 
x]vIrus[x's Avatar
 
elite*gold: 37
Join Date: Apr 2004
Posts: 2,154
Received Thanks: 250
dann nimm das untere beispiel und lass das ^ weg :<
x]vIrus[x is offline  
Reply




All times are GMT +1. The time now is 02:59.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.