Java split根据“.“分割字符串问题

Java split根据"."分割字符串问题

  • 1. 为啥str.split(".") 分割出来的是空的
  • 2. Java中的转义字符 Escape Character
  • 3. 正则表达式中的转义符
  • 举例

1. 为啥str.split(“.”) 分割出来的是空的

split() 方法根据匹配给定的正则表达式来拆分字符串。
注意: . $ | * 等转义字符,必须得加 \\。
因此,应该用str.split(“\\.”)

2. Java中的转义字符 Escape Character

字母前加上"\"来表示一些不能显示的ASCII字符,如\0,\t,\n等,因为0,t,n等都不是原本ASCII表中的意思了,所以称为转义字符。

格式为:\+要转义的字符

3. 正则表达式中的转义符

正则表达式中的转义符也为"\"。所以在java中书写正则表达式时,要先通过java的转义再通过正则表达式的转义才是真正要的表达式。

举例

想要实现将字符串str = “192.168.0.1” 按照“.”进行分割。
使用split(String regex)方法,regex 为正则表达式分隔符。
由于正则表达式中"." 是一个具有特殊意义的字符,它可用于匹配任何字符。
因此需要转义符“\”,即正则表达式为regex = “\.”
但是转义符"\“在java中也充当着转义符,因此还要对”\“进行转义。
所以正则表达式要写成 “\\.”
String[] strs = str.split(”\\.")

你可能感兴趣的:(java杂货铺,java,正则表达式,开发语言)