Java常见的字符串操作
字符串的基本操作
Java String是不可变对象,是对比较字符串最常用最简便的类,常见的字符串操作有:
- 字符串拼接:
- 使用+操作符进行字符串拼接,例如 "Hello" + "World",结果为 "Hello World"。
-
使用concat()方法进行字符串拼接,例如 "Hello".concat(" ").concat("World"),结果为 "Hello World"。
-
字符串比较:
- 使用equals()方法比较两个字符串是否相等,例如 "Hello".equals("World"),结果为 false。
-
使用equalsIgnoreCase()方法比较两个字符串是否相等,忽略大小写,例如 "Hello".equalsIgnoreCase("hello"),结果为 true。
-
获取字符串的字串或字符:
- 使用substring()方法获取字串,例如 "Hello World".substring(6),结果为 "World"。
-
使用charAt()方法获取某个位置的字符,例如 "Hello World".charAt(6),结果为 'W'。
-
字符串的查找和替换:
- 使用indexOf()方法查找某个子串在字符串中的位置,例如 "Hello World".indexOf("World"),结果为 6。
- 使用replace()方法替换所有指定的字符或字符串,例如 "Hello World".replace("World", "Java"),结果为 "Hello Java"。
正则表达式操作
正则表达式是处理文本字符串的强大工具,是匹配文本的模式。在Java中,使用java.util.regex包提供的类进行正则表达式操作。
- 匹配某个字符串是否符合正则表达式:
-
使用matches()方法判断字符串是否符合某个正则表达式,例如 "Hello123".matches("[a-zA-Z0-9]+"),结果为 true。
-
查找某个字符串在字符串中的位置:
- 使用Pattern类的compile()方法生成正则表达式对象,再使用matcher()方法生成Matcher对象,最后使用find()方法查找匹配的位置,例如
String str = "Hello World";
Pattern pattern = Pattern.compile("World");
Matcher matcher = pattern.matcher(str);
if (matcher.find()) {
System.out.println("Found match at index " + matcher.start() + " to " + matcher.end());
}
输出结果为 "Found match at index 6 to 11"。
示例
字符串的拼接和比较
public class StringDemo {
public static void main(String[] args) {
String str1 = "Hello";
String str2 = "World";
String str3 = "Hello World";
String str4 = str1 + " " + str2;
String str5 = str1.concat(" ").concat(str2);
System.out.println(str3.equals(str4)); // true
System.out.println(str3.equals(str5)); // true
System.out.println(str4.equals(str5)); // true
}
}
输出结果为:
true
true
true
正则表达式的操作
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class RegexDemo {
public static void main(String[] args) {
String str = "Hello123";
System.out.println(str.matches("[a-zA-Z0-9]+")); // true
Pattern pattern = Pattern.compile("World");
Matcher matcher = pattern.matcher("Hello World");
if (matcher.find()) {
System.out.println("Found match at index " + matcher.start() + " to " + matcher.end());
}
}
}
输出结果为:
true
Found match at index 6 to 11
Java常见的日期操作
Java中提供了许多实用的日期操作类和方法,可以方便地进行日期处理。
Date类的操作
- 获取当前时间:
- 使用构造函数,例如
Date date = new Date()
。 -
使用静态方法,例如
Date date = new Date(System.currentTimeMillis())
,等价于不带参数的构造函数。 -
获取日期的字符串表示:
- 使用toString()方法获取"EEE MMM dd HH:mm:ss zzz yyyy"格式的字符串表示,例如
System.out.println(new Date().toString())
。
SimpleDataFormat类的操作
SimpleDateFormat类提供了日期和字符串之间的转换。
- 将字符串转换为日期:
-
使用构造函数,例如
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd")
,将字符串"2022-01-01"转换为日期对象,例如Date date = sdf.parse("2022-01-01")
。 -
将日期转换为字符串:
-
使用format()方法,例如
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd")
,将日期对象转换为"yyyy-MM-dd"格式的字符串表示,例如String str = sdf.format(new Date())
。 -
获取当前时间戳:
- 使用System.currentTimeMillis()方法获取当前时间的时间戳,例如
long timestamp = System.currentTimeMillis()
。
示例
获取当前时间和日期
public class DateDemo {
public static void main(String[] args) {
Date date1 = new Date();
System.out.println(date1);
Date date2 = new Date(System.currentTimeMillis());
System.out.println(date2);
}
}
输出结果为:
Wed Dec 22 20:56:17 CST 2021
Wed Dec 22 20:56:17 CST 2021
将字符串转换为日期和将日期转换为字符串
import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleDateFormatDemo {
public static void main(String[] args) throws Exception {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse("2022-01-01");
System.out.println(date);
String str = sdf.format(new Date());
System.out.println(str);
}
}
输出结果为:
Sat Jan 01 00:00:00 CST 2022
2021-12-22
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java常见的字符串操作和日期操作汇总 - Python技术站