java中split时,需要转义的几个字符

本文介绍如何使用Java进行字符串拆分,并特别强调了在遇到特殊字符如“|”、“.”、“*”和“+”时如何正确转义这些字符以实现准确的字符串拆分。通过示例代码展示了不同情况下字符串的拆分方法。

1,或|,点.,加+,乘*,在字符串中出现时,如果这个字符串需要被拆分,则拆分时候,需要在前面加两个反斜杠。

      与&,在分裂时候,不需要转义。

 

2,测试代码:

 

[java]   查看纯 文本 
 
 
  1. public Test {   
  2.     public static void  main(String [] args){    
  3.         // Scanner in = new Scanner(System.in);  
  4.         String str1 = "sfs | abcd" ;  
  5.         String str2 = "sfs.abcd" ;  
  6.         String str3 = " sfs &abcd" ;  
  7.         String str4 = " sfs * abcd" ;  
  8.         String str5 = " sfs + abcd" ;  
  9.   
  10.         String [] strs1 = str1.split("\\ |" );  
  11.         String [] strs2 = str2.split("\\." );  
  12.         String [] strs3 = str3.split("&" );  
  13.         String [] strs4 = str4.split("\\ *");  
  14.         String [] strs5 = str5.split("\\ +" );  
  15.         System.out.println("(1)----------------(符号:|)");  
  16.         for (String s:strs1){  
  17.             System.out.println(s);  
  18.         }  
  19.         System.out.println("(2)----------------(符号:.)");  
  20.         for (String s:strs2){  
  21.             System.out.println(s);  
  22.         }  
  23.         System.out.println ("(3)----------------(符号:&)");  
  24.         for (String s:strs3){  
  25.             System.out.println(s);  
  26.         }  
  27.         System.out.println("(4)----------------(符号:*)");  
  28.         for (String s:strs4){  
  29.             System.out.println(s);  
  30.         }  
  31.         System.out.println("(5)----------------(符号:+)" );  
  32.         for (String s:strs5){  
  33.             System.out.println(s);  
  34.         }  
  35.     }  
  36. }  


输出结果:

 

 

[java]   查看纯 文本 
 
 
  1. 1 )----------------(符号:|)  
  2. SFS  
  3. A B C D  
  4. 2 )----------------(符号:.)  
  5. SFS  
  6. A B C D  
  7. 3 )----------------(符号:&)  
  8. SFS  
  9. A B C D  
  10. 4 )----------------(符号:*)  
  11. SFS  
  12. A B C D  
  13. 5 )----------------(符号:+)  
  14. SFS  
  15. A B C D  

 

转自:https : //blog.youkuaiyun.com/caoxiaohong1005/article/details/78570133

<think>好的,用户想了解Java中字转义的用法和示例。我需要先回忆Java中常用的转义有哪些,比如\n、\t、\\、\"等等。然后要结合引用中的内容,特别是引用[1]和[3]提到的转义列表和使用方法。用户可能需要具体的例子,所以得准备几个常见的转义示例,比如换行、制表、双引号等。 引用[4]提到了替换转义的方法,可能需要解释如何通过replace方法处理转义。用户可能在实际使用中遇到需要转义的情况,比如处理文件路径或正则表达式。这候需要强调反斜杠在字串中的正确写法,比如写成两个反斜杠。 还要注意用户可能混淆转义在字串中的表示和实际效果。例如,如何在输出正确显示转义后的字,或者在字串中包含特殊字。可能需要提到原始字串的处理,比如使用双反斜杠或者使用replace方法替换。 另外,引用[3]提到的在线工具可能对用户有帮助,但用户的问题主要关注代码中的用法,所以应重点放在代码示例上。需要确保示例中的转义正确使用,比如在System.out.println中展示转义后的结果。 最后,用户可能需要了解转义在不同场景下的应用,比如文件路径中的反斜杠,或者JSON字串中的双引号转义。这部分可以通过示例来展示,比如文件路径的字串写法,或者构建JSON数据的处理。 总结一下,回答的结构应该包括转义的作用、常用转义列表、具体代码示例、注意事项以及相关应用场景。同要引用提供的资料来支持内容,比如引用[1]中的常用转义和引用[4]中的替换方法。确保示例代码正确,语法无误,并且合用户的需求。</think>### Java转义用法详解 #### 一、转义的作用 在Java串中,转义以反斜杠`\`开头,用于表示**无法直接输入的特殊字**或**消除字的特殊含义**[^1]。例如在字串中使用双引号,必须转义为`\"`,否则会导致语法错误。 #### 二、常用转义列表 | 转义 | 功能说明 | 示例代码 | 输出效果 | |--------|------------------------|---------------------------|--------------------| | `\\` | 表示单个反斜杠 | `"C:\\\\Program Files"` | `C:\Program Files` | | `\"` | 表示双引号 | `"He said \"Hello\""` | `He said "Hello"` | | `\n` | 换行 | `"Line1\nLine2"` | 两行文本 | | `\t` | 制表(4个空格) | `"Name:\tJohn"` | `Name: John` | | `\r` | 回车(光标回到行首) | `"Loading...\rDone!"` | 覆盖显示`Done!` | | `\b` | 退格(删除前字) | `"ABCD\b\bX"` | `ABX` | | `\'` | 单引号(char类型专用) | `char c = '\'';` | 字`'` | #### 三、核心代码示例 ```java // 示例1:文件路径转义 String path = "C:\\\\Users\\\\test\\\\file.txt"; System.out.println(path); // 输出: C:\Users\test\file.txt // 示例2:JSON字串构建 String json = "{ \"name\": \"John\", \"age\": 30 }"; System.out.println(json); // 输出: { "name": "John", "age": 30 } // 示例3:多行文本处理 String poem = "静夜思\n床前明月光,\n疑是地上霜。"; System.out.println(poem); ``` #### 四、特殊场景处理 1. **正则表达式中的转义** 匹配反斜杠需要写`\\\\`: ```java String input = "a\\b\\c"; String[] parts = input.split("\\\\"); // 按反斜杠分割 ``` 2. **替换转义** 使用`replace()`方法处理已转义的字串[^4]: ```java String escaped = "Hello\\nWorld"; String unescaped = escaped.replace("\\n", "\n"); System.out.println(unescaped); // 输出两行文本 ``` 3. **原始字串处理(JDK15+)** 使用三引号避免转义: ```java String sql = """ SELECT * FROM users WHERE name = "John" """; ``` #### 五、常见错误 ```java // 错误示例:未转义双引号 // String error = "This "is" wrong"; // 正确写法 String correct = "This \"is\" correct"; ```
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值