StringsP1

advertisement
Strings
PART I
STRINGS, DATES, AND TIMES
FUNDAMENTALS OF
CHARATERS AND STRINGS
• VB represents characters using American
National Standards Institute(ANSI) Character
Set
• Small integer values 0 to 127(1st 128 ANSI
Characters) equal American Standard Code for
Information Interchange(ASCII)
• Strings are series of characters treated as
single unit
• include: letters, numbers, special characters,
and others (special VB data type)
FUNDAMENTALS OF
CHARATERS AND STRINGS
• String literals or string constants indicated by
double quotes
•
Example: “John Q. Doe”
•
“9999 Main Street”
•
“Somewhere, Massachusetts”
•
“(555) 555-5555”
• Dollar sign is type declaration character for
String
• String data type:
•
declares string variables
FUNDAMENTALS OF
CHARATERS AND STRINGS
• Types of strings:
• 1. variable-length (default)
• 2. fixed-length
• Consists of characters with numeric values,
range 0 to 255
•
grow and shrink dynamically
• Example: Variable-length
•
Dim s As String
•
s = “blue”
FUNDAMENTALS OF
CHARATERS AND STRINGS
• Example: Fixed length
•
Dim SocialSecurityNumber As String * 11
•
SocialSecurityNumber = “212-45-6363”
• String Concatenation with & and + :
• combine smaller strings into one
• Example: s1 = “Pro”
•
s2 = “gram”
•
s3 = s1 & s2 output=program
•
or
s3 = s1 + s2
FUNDAMENTALS OF
CHARATERS AND STRINGS
• Problem: s1 = “hello” + 22
•
would attempt convert hello to number
and
•
add 22 resulting in type mismatch
• Rule of thumb: use & for concatenation
• Comparing Character Strings:
• use: relational operators (<, >, <= , >=)
•
equality operators (<>, =)
FUNDAMENTALS OF
CHARATERS AND STRINGS
•
StrComp function:
•
returns: 0 if strings are equal
•
-1 if 1st string is < 2nd string
•
1 if 1st string is > 2nd string
• Comparisons are made based on numeric
values
(ASCII) associated with characters
• Function StrComp has an optional 3rd
argument:
•
indicates comparison type
FUNDAMENTALS OF
CHARATERS AND STRINGS
• Option Compare type (module-level statement)
•
type: Binary, Text, or Database
• Option Compare not used: default is Binary
• Strings of different length:
•
Example: “j” VS. “john”
•
if one name is equivalent to leftmost portion
of another name, shorter name comes before
longer name
FUNDAMENTALS OF
CHARATERS AND STRINGS
• Operator Like
• another comparison of two strings
•
compare patterns of characters as well as
strings
• Example: “HBLT55DD” Like “HBLT55DD”
•
True or False test
•
“HBLT55DD” Like “HBLT*”
•
asterisk is pattern matching character
•
any number of characters can follow
FUNDAMENTALS OF
CHARATERS AND STRINGS
•
•
•
•
•
•
•
question mark- single character can be
any type of character
pound sign- single character can be a digit
Example: “HBLT55DD” Like “?#LT55DD” (false)
“HBLT55DD” Like “?BLT##DD” (true)
square brackets- series of characters
provided for matching characters
Example: “HBLT55DD” Like “H[A-F]LT55DD”
“HBLT55DD” Like “H[A-F]LT[!4-7]5DD” [!] not
MANUIPULATING INDIVIDUAL
CHARACTERS
• Code example: Figure 8.3, p. 310
• Mid$ - allows programmer to extract one
character at a time from a string
• Example: Figure 8.4, p. 311
•
Mid$ used with phrase to extract one
character at a time in reverse
• Note1: program also uses Len function to
determine length of phrase
MANUIPULATING INDIVIDUAL
CHARACTERS
• Mid$ Function Arguments:
•
1. Source string from which substring will be
selected
•
2. Starting character position in string
•
3. Number of characters to select
• Note2: if last argument is omitted or number of
characters remaining is less than number of
characters, remainder of string from starting
character position is returned
MANUIPULATING INDIVIDUAL
CHARACTERS
• Example: phrase = txtInput.Text
•
txtOutput.Text = txtOutput.Text & _
•
Mid$ (phrase, position, 1)
• Note3: can be used to replace portion of string
with another string
• Example: x =“Visual Basic 6!”
•
Mid$ (x,2,3) = “xxx”
• x changed to “Vxxxal Basic 6!”
LEFT$,RIGHT$, AND INSTR
• Left$ selects left most portion of string
•
Example: s1=“ABCDEF”
•
s2=“Left$(s1,4)
•
Assigns leftmost four character to s2
•
s2 = “ABCD”
• Right$ selects rightmost portion of string
•
s1 = “ABCDEF”
•
s2 = Right$(s1,4)
•
Assigns rigthmost four characters to s2
LEFT$,RIGHT$, AND INSTR
•
s2 = “CDEF”
• InStr search through one string (base string) to
determine if it contains another string (search
string)
• When found, starting character location of string
is returned
• Should second string contain no character (0
length), starting position is returned
• Example: s1 = “AEIOU”
•
s2 = “IOU”
LEFT$,RIGHT$, AND INSTR
•
result = InStr(1, s1, s2)
•
result = “IOU”
•
(starts search at position 1 of s1)
• Note1: If InStr determines search string is not
contained within base string, returns zero
• Example: result = InStr(1, “aeiou”, “aeb”)
•
result = InStr(4, “aeiou”, “iou”)
•
result = InStr(1, “aeiou”, “aeiouy”)
•
result = 0 for all three cases
LEFT$,RIGHT$, AND INSTR
•
•
•
(1) blankPosition = InStr(1, phrase, “ “)
returns first blank position in phrase
(2) nextWord = Left$(phrase, blankPosition 1)
•
picks off one word at a time from phrase
and assigned to nextWord
• (3) phrase = Right$(phrase, Len(phrase) blankPosition)
•
LEFT$,RIGHT$, AND INSTR
•
•
•
•
•
•
returns remainder of phrase from
character after blankPosition
Note2: eventually phrase shrinks to one word
Searching for Substrings in Strings Using InStr
and InstrRev:
search for substrings in a string from beginning
to end of string
InStr searches from any location in a string
InStrRev search from end or any other position
Searching for Substrings in
Strings Using InStr and InstrRev
• InStrRev’s arguments:
•
(1) base string
•
(2) search string
•
(3) starting character position in base string
• Outcome”
•
(1) if search string found, starting character
location of string is returned
•
(2) if search string is zero length, starting
position is returned
Searching for Substrings in
Strings Using InStr and InstrRev
• Example1: Dim s1 As string, s2 As string
•
s1 = “abcdefghijklmnop”
•
s2 = “m”
•
result = InStrRev (s1, s2, Len (s1))
•
determines s2 is in s1 at position 13
•
return 13 as starting position (s2 in s1)
•
13 is assigned to result
•
Len (s1)- s2 begins at end of s1
Searching for Substrings in
Strings Using InStr and InstrRev
• Note: third argument can be omitted if search
begins from end of base string
•
if string not contained in base string, returns
0
• Example2: result = InStr(“aeiou”, “aeb”)
•
result = InStr(“aeiou”, “iou”, 2)
•
resutl = InStr(“aeiou”, “aeiouy”)
• fowardResult = InStr(Input1, Input2)
• locates 1st occurrence of Input2 in Input1
Searching for Substrings in
Strings Using InStr and InstrRev
• backwardResult = InStrRev(txtInput1.Text,
txtInput2.Text)
• locates last occurrence of txtInput2.Text in
txtInput1.Text starting from end of txtInput1
• LTrim$, Rtrim$, Trim$:
• (1) remove leading spaces from left side of string
• (2) remove trailing spaces from right side of string
• (3) remove spaces on left and right side of string
Ltrim$, Rtrim$, Trim$
• Useful for removing extra space characters
used to pad a fixed-length string
• string would occupy space allocated
• String$ and Space$:
• create strings of specified number of characters
• String$ creates string of specified character
• Space$ creates string of spaces
Download