◇ string manipulation in game development-C # in Unity -
It is about the various string
● defined as the declaration of a string variable
string s = "string";
※ s leading lowercase
● addition of string
string a = "string A";
string b = "string B";
string c; and add the / / string to each other; c = a + b
a constant to / / variable; c = a + "string C" The plus
to add a variable to the / / constant; c = "string C" + a
● The length of the string
string a = "A string";
int b; b = a.length;
Number of characters is returned. Will be 4 Using the example above
you will be counted as one full-width characters
● takes out part of the string
string a = "A string";
string b; b = A.Substring ("starting position", and "number of characters to retrieve");
Zero-based starting position
em will also be counted as one character
b = a.Substring (0, 2); / / from the first two characters → character
(1, 2) b = a.Substring; / / from the second character 3 character string →
b = a.Substring (1); / / 3 remaining characters all → string A
● split with a particular character string
string a = "string A \ n string B";
string [] b;
c string; ("\ N" [0]) b = A.Split; with / / line feed code division
c = b [0]; / / "String A" into the c
If you want multiple delimiters, which is possible by the array
string a = "string A \ n string B";
string [] b;
c string;
delimiter / / data; string [] = {KUGIRI "\ r", "\ N"} b = A.Split split at each character in the / / KUGIRI variable; (KUGIRI)
"A string" into the / / c; c = b [0]
○ If you want to delete items only blank
in Split in fact there is a second argument, if you specify a System.StringSplitOptions.RemoveEmptyEntries there, no variable contents will be deleted after you split
There are three line break in between / /; string a = "string A \ n \ n \ n string B"
string [] b;
string c; b = A.Split ("\ N" [0], System . split / / line feed code; StringSplitOptions.RemoveEmptyEntries). Blank to remove
/ / "String A" b [0]
"String B" / / b [1]
/ / enters
● string comparison
I == comparable in principle
string a = "A string"; {(a == "string A") if
a match / /
} else {
not / / match
}
• Use the Equals method if you can not compare well
string a = "A string"; {(a.equals ("string A")) if
the match / /
} else {
not / / match
}
• It is not possible to compare the variables and only made a declaration
a string; if (a == null) {/ / x
}
↓ like this I get an error
CS0165 error: Use of unassigned local variable `a ' variables to use the if statement, it must be always defined in some cases not. Because it is useless
a string;
int b = 1; if (b == 1) {
a = "initialization";
}
if (a == null) {
Debug.Log ("true");
}
※ It is an error if b is not 1, so may occur state of · null It is a thing with nothing on is instead of a null, then it also can be assigned null
string a = null;
● Substitute a numeric value to a string
· Integer
int a = 123;
string b; b = "" + a;
Minority
float a = 123.45F;
string b; b = "" + a;
● The assignment to a numeric character
• In the case of integer
string a = "123";
int b; TRY {
; (a) b = Int.Parse
catch {}
: (It is an error even when a small number of) when a string is not an integer / / error
}
Will result in an error of less than in the case of a string that can not be converted
Object reference not set to an instance of an object: NullReferenceException in the case of the Minority
string a = "123.45";
float b; TRY {
; (a) b = Float.Parse
{} catch
: when a string is not a small number / / error
}
○ use the TryParse method if you do not want to raise an exception
if the integer-
string a = "123";
int b; {if (Int.TryParse (a, b out))
when the / / normal
result of 123 is in the / / b
} else {
/ / error: string (It is an error even when a few) when it is not an integer
0 always contains the / / b
}
• If a small number of
string a = "123.45";
float b; {if (Float.TryParse (a, b out))
when the / / normal
result of 123.45 is in the / / b
} else {
/ / error: string when it is not a small number
0 always contains the / / b
}
● string search
string a = "string A \ n string B";
int b; b = A.IndexOf ('\ N');
Is set to 0 the beginning, the number of characters was first discovered will contain
is b = 4 in this case, if the character is not found, -1 is entered
(('\ n') == -1 a.IndexOf) {if
there is no / / string
} {else
there is a / / string
}
● switch ~ case statement
; string word = "spring" Switch (Word) { Case "Spring": Case "summer": Case "Autumn": : Case "winter" case was one of the / / four season ; break : default / / it other than / / Can not be omitted; break } You can not omit the last break of ※. The following error appears when I forget to write error CS0163: Control cannot fall through from one case label to another
● debug output
string debug = "debug string";
Debug.Log (debug);
※ Console window appears in the Window → Console menu