JAVA的分割方法split的分割规则是怎么的??原理?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA的分割方法split的分割规则是怎么的??原理?相关的知识,希望对你有一定的参考价值。

String tes="boo:and:foo";
System.out.println("把tes按:分割为5组即一个数组为5个元素");
String[] d=tes.split("o",5);
for(String element: d)
System.out.println(element);
结果:是"b", " ", ":and:f", " " ," "
为什么这么分割呢?

你的o时分隔符,第一个o和第二个o中间为空,所以结果会出现第一个空"b",[""]就这个,这个空表示也就是前两个o中间时个空
这样想:"a,b,,,,,,,c,d",这个中间这么多逗号,如果以逗号分割,中间就会出先多个空
后面的也是一样的。 结果中倒数第二个空时后面两个o中间的空,
最后第一个空,时最后一个o后面的空
你可以试试在最后一个o后面加一个字符,这样结果中的最后一个空就变成了这个字符 。

另外如果你限制数组长度为4,String[] d=tes.split("o",4);,
输出的结果就会是这样:'b','',':and:f','o',最后一个o就不会被认为是分隔符了。
参考技术A 因为你是按照o分割的 不是: 你按照o当然是那个结果
public static void main(String[] args)
String aa= "aa:bb:cc:dd";
String [] aaa=aa.split(":");
String [] bbb=aa.split(":",2);
String line="";
for(int i=0;i<aaa.length;i++)
line=line+aaa[i]+"\t";

System.out.println(line);
line="";
for(int i=0;i<bbb.length;i++)
line=line+bbb[i]+"\t";

System.out.println(line);

按这个运行下 你就应该懂了
结果如下
aa bb cc dd
aa bb:cc:dd
参考技术B 自己写错了啊哥们,要细心,
程序员要细心啊!

模拟java的split函数,分割字符串,类似于java的split方法

  本博客是自己在学习和工作途中的积累与总结,仅供自己参考,也欢迎大家转载,转载时请注明出处

  http://www.cnblogs.com/king-xg/p/6362037.html

/*自定义oracle的分割函数*/
/*定义一个type,用户接收返回的数据集合类型*/
create or replace type splitType as table of varchar2(4000);

/*
参数1: 被分割的字符串
参数2:分割字符串,默认是英文逗号
*/
create or replace function split_str(str varchar2, split_char varchar2:=\',\')
return splitType pipelined
is
idx number(4);
orgin_str varchar2(1000):=str;
temp_str varchar2(1000);
split_length number:=0;
begin
-- 判断
select nvl(length(split_char),0) into split_length from dual;
if  split_length=0 then
  pipe row(str);
  return;
end if;

select nvl(length(str),0) into split_length from dual;
if  split_length=0 then
  pipe row(str);
  return;
end if;

idx:=instr(orgin_str,split_char);
loop
exit when idx=0;
temp_str:=substr(orgin_str,1,idx-1);
pipe row(temp_str);
orgin_str:=substr(orgin_str,idx+1);
idx:=instr(orgin_str,split_char);
end loop;
pipe row(orgin_str);
return;
end;

 

/**测试**/

select * from table(split_str(\'king,arise\',\',\'));

 

以上是关于JAVA的分割方法split的分割规则是怎么的??原理?的主要内容,如果未能解决你的问题,请参考以下文章

模拟java的split函数,分割字符串,类似于java的split方法

分享一个 Java String split 快速分割的方法

python对字符串分割和截取的方法

java split进行字符串分割

java中的字符串分割函数

java中怎么把字符串转化为字符串数组?