Common ways to clean up strings in Java programming

  • 2020-05-05 11:15:58
  • OfStack

character
generally, when we process characters, we use the raw data type char.

Sample


char ch = 'a';

// Unicode for uppercase Greek omega character
char uniChar = '\u039A'; 

// an array of chars
char[] charArray ={ 'a', 'b', 'c', 'd', 'e' };

In development, however, we encounter situations where we need to use objects instead of raw data types. In order to achieve this demand. Java provides the wrapper class Character for the raw data type char.

The Character class provides a set of useful classes (for example, static classes) for manipulating characters. You can create an Character object with the Character constructor.


Character ch = new Character('a');

The Java compiler will also be able to create an Character object for you in some cases. For example, if you transfer a primitive char to an expected object method, the compiler will automatically convert char to Character for you. If the switch is made in the opposite direction, this feature is called autoboxing or unboxing.

Sample


// Here following primitive char 'a'
// is boxed into the Character object ch
Character ch = 'a';

// Here primitive 'x' is boxed for method test,
// return is unboxed to char 'c'

char c = test('x');

escape sequence
The character with the
backslash (\) at the beginning is an escape sequence and has special meaning for the compiler.

The newline character (\n) is commonly used in the System.out.println () statement and is broken after the string is printed.

The following table shows the Java escape sequence:

转义序列 描述
\t 在文本中插入一个标签。
\b 在文本中插入一个退格。
\n 在文本中插入一个换行符。
\r 在文本中插入一个回车。
\f 在文本中插入一个换页。
\' 在文本中插入一个单引号字符。
\\ 在文本中插入一个反斜杠字符。

When an escape sequence encounters a print statement, the compiler interprets it accordingly.

Sample

If you want to put quotes inside quotes, you must use escape sequence, \ ", inside quote :


public class Test {

 public static void main(String args[]) {
  System.out.println("She said \"Hello!\" to me.");
 }
}

This produces the following result:

She said "Hello!" to me.
Character method
The following list is an important instance method that implements all subclasses of the Character class:

SN 方法描述
1 isLetter()
确定具体的char值是一个字母
2 isDigit()
确定具体的char值是一个数字
3 isWhitespace()
确定具体的char值是一个空格
4 isUpperCase()
确定具体的char值是一个大写字母
5 isLowerCase()
确定具体的char值是一个小写字母
6 toUpperCase()
返回指定字符值的大写形式
7 toLowerCase()
返回指定字符值的小写写形式
8 toString()
返回代表指定的字符值的一个String对象,即一个字符的字符串


string
The
string, which is widely used in Java programming, is a sequence of characters. In the Java programming language, strings are objects.

The Java platform provides the String class to create and manipulate strings.

creates the string
the most direct way to create a string is to write

String greeting = "Hello world!";
When you create a string, the compiler creates an String object with its value in this case, such as "Hello world! '.

Any other object can be created by using the new keyword and the String object through the constructor. The String class has 11 constructors that provide initial values that use different types of strings, such as an array of characters.


public class StringDemo{

 public static void main(String args[]){
  char[] helloArray = { 'h', 'e', 'l', 'l', 'o', '.'};
  String helloString = new String(helloArray); 
  System.out.println( helloString );
 }
}

This results in


hello.

Note that the String class is immutable, so once the String object is created, it cannot be changed. The StringBuffer & StringBuilder class should be used if a large number of character strings need to be modified.

String length
The method
USES to get information about an object is called an access method. One access method that can be used with strings is length(), which returns the number of characters contained in the string object.

After the following two lines of code are executed, len is equal to 17.


public class StringDemo {

 public static void main(String args[]) {
  String palindrome = "Dot saw I was Tod";
  int len = palindrome.length();
  System.out.println( "String Length is : " + len );
 }
}

This results in


String Length is : 17

connection string
The
String class includes methods for concatenating two strings:


string1.concat(string2);

This returns a new string that adds string2 at the end of string1. You can also concatenate strings using the concat () method, such as:


"My name is ".concat("Zara");

Strings are more often concatenated using the "+" operator, such as


Character ch = new Character('a');
0

This will produce:


Character ch = new Character('a');
1

Consider the following example:


Character ch = new Character('a');
2

This results in


Dot saw I was Tod

creates the format string
already has the printf() and format() methods to print out Numbers in the output format. The String class has an equivalent method, format(), that returns an String object instead of an PrintStream object.

The static format() method using strings allows the creation of reusable formatted strings instead of one-time print statements. For example, if instead of the following method:


Character ch = new Character('a');
4

You could write it like this:


Character ch = new Character('a');
5

String method
Here is a list of methods supported by the String class:

SN 方法及描述
1 char charAt(int index)
返回指定索引处的字符。
2 int compareTo(Object o)
将这个字符串与另一个对象比较。
3 int compareTo(String anotherString)
比较两个字符串的字典顺序。
4 int compareToIgnoreCase(String str)
比较两个字符串按字典顺序,不区分大小写的差异。
5 String concat(String str)
将指定的字符串串连到这个字符串的结尾。
6 boolean contentEquals(StringBuffer sb)
返回true当且仅当该字符串代表相同的字符序列作为指定的StringBuffer。
7 static String copyValueOf(char[] data)
返回表示所指定的数组中的字符序列的字符串。
8 static String copyValueOf(char[] data, int offset, int count)
返回表示所指定的数组中的字符序列的字符串。
9 boolean endsWith(String suffix)
测试此字符串是否以指定的后缀结束。
10 boolean equals(Object anObject)
比较此字符串与指定的对象。
11 boolean equalsIgnoreCase(String anotherString)
比较这个字符串到另一个字符串,忽略大小写的考虑。
12 byte getBytes()
将此String解码使用平台的默认字符集,并将结果存储到一个新的字节数组中的字节序列。
13 byte[] getBytes(String charsetName
将此String解码使用指定的字符集的字节序列,并将结果存储到一个新的字节数组。
14 void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
从这个字符串复制字符到目标字符数组。
15 int hashCode()
为这个字符串返回一个哈希代码。
16 int indexOf(int ch)
返回此字符串指定字符第一次出现处的索引。
17 int indexOf(int ch, int fromIndex)
返回索引这个字符串中指定字符第一次出现处,指定索引处开始搜索。
18 int indexOf(String str)
返回此字符串指定子字符串的第一次出现处的索引。
19 int indexOf(String str,int fromIndex)
返回这个字符串中指定子字符串的第一次出现处的索引,从指定的索引处开始。
20 String intern()
返回字符串对象的规范化表示。
21 int lastIndexOf(int ch)
返回此字符串指定字符最后一次出现处的索引。
22 int lastIndexOf(int ch, int fromIndex)
返回此字符串指定字符最后一次出现处的索引,从指定索引开始向后搜索。
23 int lastIndexOf(String str)
返回此字符串指定子字符串的最右边出现处的索引。
24 int lastIndexOf(String str, int fromIndex)
返回索引这个字符串中指定子字符串的最后出现处,从指定的索引开始处向后搜索。
25 int length()
返回此字符串的长度。
26 boolean matches(String regex)
判断此字符串是否与给定的正则表达式匹配。
27 boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)
测试两个字符串的区域等于。
28 boolean regionMatches(int toffset, String other, int ooffset, int len)
测试两个字符串的区域都是相等的。
29 String replace(char oldChar, char newChar)
返回从newChar更换oldChar所有出现在此字符串中产生一个新的字符串。
30 String replaceAll(String regex, String replacement
替换此字符串中给定的正则表达式与给定替换相匹配的每个子字符串。
31 String replaceFirst(String regex, String replacement)
替换此字符串匹配给定的正则表达式给定替换第一个子字符串。
32 String[] split(String regex)
分割围绕给定的正则表达式匹配的这个字符串。
33 String[] split(String regex, int limit)
分割围绕给定的正则表达式匹配的这个字符串。
34 boolean startsWith(String prefix)
测试此字符串是否以指定的前缀开头。
35 boolean startsWith(String prefix, int toffset)
测试此字符串是否以指定索引开始的指定前缀开始。
36 CharSequence subSequence(int beginIndex, int endIndex)
返回一个新的字符序列,这个序列的子序列。
37 String substring(int beginIndex)
返回一个新的字符串,它是此字符串的一个子字符串。
38 String substring(int beginIndex, int endIndex)
返回一个新的字符串,它是此字符串的一个子字符串。
39 char[] toCharArray()
这个字符串转换为一个新的字符数组。
40 String toLowerCase()
将所有在此字符串中的字符使用默认语言环境的规则小写。
41 String toLowerCase(Locale locale)
将所有在此字符串中的字符使用给定Locale的规则小写。
42 String toString()
这个对象(它已经是一个字符串!)返回字符串形式(这里是自己本身)。
43 String toUpperCase()
使用默认语言环境的规则将此String中所有的字符转换为大写。
44 String toUpperCase(Locale locale)
使用给定Locale的规则将此String中所有的字符转换为大写。
45 String trim()
返回字符串的一个副本,开头和结尾的空格去除。
46 static String valueOf(primitive data type x)
返回传递的数据类型参数的字符串表示形式。


Related articles: