• 【转】Java中Split函数的用法技巧


    在java.lang包中也有String.split()方法,与.net的类似,都是返回是一个字符型数组,但使用过程中还有一些小技巧。
    如执行:"2|33|4".split("|")

    出来的结果是:

    ""

    2

    |

    3

    3

    |

    4

    奇怪吧,不过注意看一下API说明还是知道原因的.

    java.lang.string.split 
    split 方法 
    将一个字符串分割为子字符串,然后将结果作为字符串数组返回。 
    stringObj.split([separator,[limit]]) 
    参数 
    stringObj 
    必选项。要被分解的 String 对象或文字。该对象不会被 split 方法修改。 
    separator 
    可选项。字符串或 正则表达式对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。 
    limit 
    可选项。该值用来限制返回数组中的元素个数。

    说明 
    split 方法的结果是一个字符串数组,在 stingObj 中每个出现 separator 的位置都要进行分解

    所以正常的写法是这样的:

    1、如果用“.”作为分隔的话,必须是如下写法:String.split("\\."),这样才能正确的分隔开,不能用String.split(".");
    2、如果用“|”作为分隔的话,必须是如下写法:String.split("\\|"),这样才能正确的分隔开,不能用String.split("|");
    “.”和“|”都是转义字符,必须得加"\\";
    3、如果在一个字符串中有多个分隔符,可以用“|”作为连字符,比如:“a=1 and b =2 or c=3”,把三个都分隔出来,可以用String.split("and|or");

    String year = beginTime.split("-")[0];

    如何把一段逗号分割的字符串转换成一个数组?

    如果不查jdk api,我很难写出来!我可以说说我的思路:

    1. 用正则表达式,代码大概为:String [] result = orgStr.split(“,”);
    2. 用 StingTokenizer ,代码为:StringTokenizer  tokener = StringTokenizer(orgStr,”,”);

    String [] result = new String[tokener .countTokens()];

    Int i=0;

    while(tokener.hasNext(){result[i++]=toker.nextToken();}

  • 相关阅读:
    tomcat配置和原理(转)
    maven install、maven clean、project clean
    spring注解的(List&Map)特殊注入功能
    React父子组件传值
    使用Ant Design的Upload上传删除预览照片,以及上传图片状态一直处于uploading的解决方法。
    使用react-redux
    URLSearchParams生成和解析URL或者参数字符串
    Ant Design的Table组件去除“取消排序”选项
    React Hooks的useState和useEffect
    webpack配置alias简化相对路径
  • 原文地址:https://www.cnblogs.com/ct732003684/p/2915370.html
Copyright © 2020-2023  润新知