StringBuffer buf = new StringBuffer("Java");
// Append
buf.append(" Almanac v1/"); // Java Almanac v1/
buf.append(3); // Java Almanac v1/3
// Set
int index = 15;
buf.setCharAt(index, .); // Java Almanac v1.3
// Insert
index = 5;
buf.insert(index, "Developers ");// Java Developers Almanac v1.3
// Replace
int start = 27;
int end = 28;
buf.replace(start, end, "4"); // Java Developers Almanac v1.4
// Delete
start = 24;
end = 25;
buf.delete(start, end); // Java Developers Almanac 1.4
// Convert to string
String s = buf.toString();
比较字符串
String s1 = "a";
String s2 = "A";
String s3 = "B";
// Check if identical 监测是否一致
boolean b = s1.equals(s2); // false
// Check if identical ignoring case
b = s1.equalsIgnoreCase(s2); // true
// Check order of two strings 监测两个字符串的顺序
int i = s1.compareTo(s2); // 32; lowercase follows uppercase
if (i < 0) {
// s1 precedes s2
} else if (i > 0) {
// s1 follows s2
} else {
// s1 equals s2
}
// Check order of two strings ignoring case
i = s1.compareToIgnoreCase(s3); // -1
if (i < 0) {
// s1 precedes s3
} else if (i > 0) {
// s1 follows s3
} else {
// s1 equals s3
}
// A string can also be compared with a StringBuffer;
StringBuffer sbuf = new StringBuffer("a");
b = s1.contentEquals(sbuf); // true
判断一个字符串中是否包含另外一个字符串
String string = "Madam, I am Adam";
// Starts with
boolean b = string.startsWith("Mad"); // true
// Ends with
b = string.endsWith("dam"); // true
// Anywhere
b = string.indexOf("I am") > 0; // true
// To ignore case, regular expressions must be used
// Starts with
b = string.matches("(?i)mad.*");
// Ends with
b = string.matches("(?i).*adam");
// Anywhere
b = string.matches("(?i).*i am.*");
获取制定字符串中的子串
int start = 1;
int end = 4;
String substr = "aString".substring(start, end); // Str
查询指定字符串中的子串以及字母的位置
String string = "madam, i am Adam";
// Characters
// First occurrence of a c
int index = string.indexOf(a); // 1
// Last occurrence
index = string.lastIndexOf(a); // 14
// Not found
index = string.lastIndexOf(z); // -1
// Substrings
// First occurrence
index = string.indexOf("dam"); // 1
// Last occurrence
index = string.lastIndexOf("dam"); // 13
// Not found
index = string.lastIndexOf("z"); // -1
取代制定字符的函数操作
// Replace all occurrences of a with o
String newString = string.replace(a, o);
取代制定字符串的操作
static String replace(String str, String pattern, String replace) {
int s = 0;
int e = 0;
StringBuffer result = new StringBuffer();
while ((e = str.indexOf(pattern, s)) >= 0) {
result.append(str.substring(s, e));
result.append(replace);
s = e+pattern.length();
}
result.append(str.substring(s));
return result.toString();
}
转变字符串的大小写
// Convert to upper case
String upper = string.toUpperCase();
// Convert to lower case
String lower = string.toLowerCase();
Converting a Primitive Type Value to a String
// Use String.valueOf()
String s = String.valueOf(true); // true
s = String.valueOf((byte)0x12); // 18
s = String.valueOf((byte)0xFF); // -1
s = String.valueOf(a); // a
s = String.valueOf((short)123); // 123
s = String.valueOf(123); // 123
s = String.valueOf(123L); // 123
s = String.valueOf(1.23F); // 1.23
s = String.valueOf(1.23D); // 1.23
// Use +
s = ""+true; // true
s = ""+((byte)0x12); // 18
s = ""+((byte)0xFF); // -1
s = ""+a; // a
s = ""+((short)123); // 123
s = ""+123; // 123
s = ""+123L; // 123
s = ""+1.23F; // 1.23
s = ""+1.23D; // 1.23
Converting Between Unicode and UTF-8
try {
// Convert from Unicode to UTF-8
String string = "abc\u5639\u563b";
byte[] utf8 = string.getBytes("UTF-8");
// Convert from UTF-8 to Unicode
string = new String(utf8, "UTF-8");
} catch (UnsupportedEncodingException e) {
}