String[] ips = ip.split("\."); 和 String[] ips = ip.split("\\.");
时间: 2024-05-20 10:13:16 浏览: 15
在Java中,字符串的split方法用于将一个字符串按照指定的分隔符进行分割,并返回分割后的字符串数组。由于Java中的正则表达式中`.`字符代表任意字符,因此如果要按照`.`进行分割,需要使用转义字符`\`来转义`.`字符。
因此,如果使用`String[] ips = ip.split("\.");`进行分割,由于`\`是Java中的转义字符,因此实际上传递给split方法的分隔符是`.`,这是不正确的,会导致编译错误。
正确的写法是`String[] ips = ip.split("\\.");`,由于`\`在Java中也是转义字符,因此需要使用两个`\`表示一个`\`字符,这样传递给split方法的分隔符就是`.`,可以正确地进行分割。
相关问题
String[] ips = ip.split("."); 和 String[] ips = ip.split("\\."); 有啥区别
在Java中,split()方法使用正则表达式来分割字符串。点号(.)是正则表达式中的特殊字符,它代表任何字符。因此,如果你使用ip.split("."),它将按照任何字符来分割ip字符串,并且你得到的结果将是一个长度为0的数组。
为了正确地分割ip字符串,你需要将点号转义成一个普通字符。在Java中,要转义一个字符,你需要在它前面加上反斜杠(\)。所以,使用ip.split("\\.")将会把ip字符串按照点号进行分割,并且返回一个包含4个字符串的数组,每个字符串都是ip地址的一个部分。
//补充完成以下程序功能 import java.util.TreeSet; class RegexTest { public static void main(String []args) { checkMail(); StringRepalce(); ipSort(); } /* 需求: 对邮件地址进行校验,判断给出的mail 是否是合法的邮箱地址 */ public static void checkMail() { //补充完成判断mail 是否合法的邮箱地址 String mail = "abc12@sina.com"; } /* 需求: 将下列字符串转成:我要编程 */ public static void StringRepalce() { //补充 完成功能:将字符串转成:我要编程 String str = "我我...我我..我...我要..要要..学学学学...学学..编...编程程"; } /* 192.68.1.254 102.49.23.013 10.10.10.10 2.2.2.2 8.109.90.30 将ip地址进行地址段的顺序排序 还按照字符串自然顺序,只要让它们每一段都是3位即可 1,按照每一段需要的最多的0进行补齐 那么每一段就会至少保证有3位 2,将每一段只保留3位 这样,所有的ip地址都是每一段3位 */ public static void ipSort() { String ip = "192.68.1.254 102.49.23.013 10.10.10.10 2.2.2.2 8.109.90.30"; } } 实现效果如下所示: 4. 提取数字 public static void getNumber() { //将字符串中的数字提出处理并输出 String string="12334我的QQ是: 456456 我的电话是:0532214我的邮箱是:123:aaa@aaa.com"; }
import java.util.TreeSet;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
class RegexTest {
public static void main(String[] args) {
checkMail();
StringReplace();
ipSort();
getNumber();
}
/*
* 需求: 对邮件地址进行校验,判断给出的mail是否是合法的邮箱地址
*/
public static void checkMail() {
String mail = "abc12@sina.com";
String mailRegex = "[a-zA-Z0-9]+@[a-zA-Z0-9]+(\\.[a-zA-Z]+)+";
Pattern pattern = Pattern.compile(mailRegex);
Matcher matcher = pattern.matcher(mail);
if (matcher.matches()) {
System.out.println(mail + " is a valid email address.");
} else {
System.out.println(mail + " is not a valid email address.");
}
}
/*
* 需求: 将下列字符串转成:我要编程
*/
public static void StringReplace() {
String str = "我我...我我..我...我要..要要..学学学学...学学..编...编程程";
String replaceStr = str.replaceAll("[^我要编程]", "");
System.out.println(replaceStr);
}
/*
* 192.68.1.254 102.49.23.013 10.10.10.10 2.2.2.2 8.109.90.30 将ip地址进行地址段的顺序排序
* 还按照字符串自然顺序,只要让它们每一段都是3位即可 1,按照每一段需要的最多的0进行补齐 那么每一段就会至少保证有3位 2,将每一段只保留3位 这样,所有的ip地址都是每一段3位
*/
public static void ipSort() {
String ip = "192.68.1.254 102.49.23.013 10.10.10.10 2.2.2.2 8.109.90.30";
TreeSet<String> set = new TreeSet<String>();
String[] ips = ip.split(" ");
for (String s : ips) {
String[] nums = s.split("\\.");
StringBuilder sb = new StringBuilder();
for (String num : nums) {
sb.append(String.format("%03d", Integer.parseInt(num)));
}
set.add(sb.toString());
}
for (String s : set) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < s.length(); i += 3) {
sb.append(Integer.parseInt(s.substring(i, i + 3))).append(".");
}
sb.deleteCharAt(sb.length() - 1);
System.out.println(sb.toString());
}
}
/*
* 提取数字
*/
public static void getNumber() {
String string = "12334我的QQ是: 456456 我的电话是:0532214我的邮箱是:123:aaa@aaa.com";
String regex = "\\d+";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.out.println(matcher.group());
}
}
}
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![xlsx](https://img-home.csdnimg.cn/images/20210720083732.png)