前言
今天项目中遇到一个问题,使用了“|”作为分隔符去拆分前端传过来的字符串,预期的是按照“|”分割可以获取到每个单词的内容,结果却拆分成了一个个的英文字母,后想想如果换成汉字是不是可以呢?
结果,是我们可能预想到的,也是每个汉字单独成了结果。
分析问题
这种情况也就是没有实现拆分的目的。
“|”在java中是不是有特殊的含义,导致的拆分失败,试试了转义字符,将他转义一下。
具体实现如下:
User user = getUser(request);
 ApiResult apiResult = new ApiResult();
 String name = productBrandReq.getName();
 if(StringUtils.isEmpty(name) || name.trim().endsWith(“|”)){
 throw new ParamException(“请正确填写name,不能以:| 结尾”);
 }
 String[] names = name.split(“|”);
上面的代码拆分出来的names是按照单个字符进行拆分的。
将上面的最后一行代码替换成下面的代码即可完成,将“|”进行转义操作
String[] names = name.split("\\|");
 
| 的含义
|(或运算符)
| 是针对二进制的二目运算符。
运算规则:两个二进制数值如果在同一位上至少有一个1,则结果中该位为1,否则为0,比如1011 & 0010 = 1011。
以上就是我们在java中使用“|”进行拆分的时候就会遇到问题了。我们进行转义即可正常使用
扩展
接下来,我们来具体看一下java中的String的split()是如何使用的吧!!!
他是来自java.lang.String API下的方法,具体使用方法总结如下:
java字符串分割方法.split()的详细用法
1、按指定普通字符分割
 java代码如下:
	 	String string="123@456@789";
	 	 // 通过 @ 分割
		 String array[]=string.split("@");
		 for(String s:array)
		 	System.out.println(s);
 
运行结果:
 123
 456
 789
 2、按所有半角符号分割(分割单词常用到)
  java中有一个快速的单词关键分割代码(按符号分割):
  		string.split("[\\p{Punct}\\s]+");
  java代码如下:
  		String string="aaa bbb,margin. hhh-kkk+love youe...";
		String array[]=string.split("[\\p{Punct}\\s]+");
			for(String s:array)
				System.out.println(s);
 
运行结果:
 aaa
 bbb
 margin
 hhh
 kkk
 love
 youe
 3、按多个字符分割
       如果一个字符串中包含了多个分隔符,用"|"作为连字符进行拆分。
       
       java代码如下:
			String string="aaa#bbb&ccc-ddd";
			String array[]=string.split("#|&|-");
			for(String s:array)
					System.out.println(s);
 
运行结果:
 aaa
 bbb
 ccc
 ddd
4、按转义(特殊)字符分割
	  1.如果是" \ ",那么就得写成"\\\\"。 上"\\"。 
	  2.字符" | " , " * " , " + "都得加上转义字符,前面加
	  
	java代码如下:
		String string="123*456*789";
		String array[]=string.split("\\*");
		for(String s:array)
			System.out.println(s);
 
运行结果:
 123
 456
 789
总结
“|” 和 "."在
 Java中有特殊的意义
在使用的时候需要进行转义操作,不然拆分的时候会出现问题,导致拆分不成功!
欢迎大家点击下方卡片,关注《coder练习生》
Java字符串分割:split()方法详解与示例,
        
                  
                  
                  
                  
                            
本文介绍了在Java中使用字符串方法split()时遇到的问题,特别是当分隔符为特殊字符如|.文章详细解释了|的含义,以及如何通过转义字符解决拆分问题。同时,展示了split()方法的各种用法,包括按普通字符、单词、多个字符和特殊字符分割字符串的示例。
          
                    
      
          
                
                
                
                
              
                
                
                
                
                
              
                
                
                    
              
            
                  
					912
					
被折叠的  条评论
		 为什么被折叠?
		 
		 
		
    
  
    
  
					
					
					


            