关于JAVA string.split()方法。

今日由于工作需求,做了一些截取拼接URL的操作,频繁用到split(),  结果报错PatternSyntaxException,看方法描述后得知这个方法其实要求传的是正则,方法描述如下:


Open Declaration String[] java.lang. String.split( String regularExpression)

Splits this string using the supplied regularExpression. Equivalent to split(regularExpression, 0). See Pattern.split(CharSequence, int) for an explanation of limit. See Pattern for regular expression syntax.

If the same regular expression is to be used for multiple operations, it may be more efficient to reuse a compiled Pattern.

Parameters:
regularExpression
Throws:
NullPointerException - if regularExpression == null
PatternSyntaxException - if the syntax of the supplied regular expression is not valid.
Since:
1.4
See Also:
Pattern
给一个正则,按照正则去截取,如果传入的是null,会报空指针,如果有报错信息为 PatternSyntaxException 肯定是传了一些无效的正则,这些都是需要进行转义的,

如下:



   匹配输入字符串的结尾位置。如果设置了   RegExp   对象的   Multiline   属性,则   $   也匹配   '\n'   或   '\r'。要匹配   $   字符本身,请使用   \$。    
    )   标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用   \(   和   \)。    
    匹配前面的子表达式零次或多次。要匹配   *   字符,请使用   \*。    
    匹配前面的子表达式一次或多次。要匹配   +   字符,请使用   \+。    
    匹配除换行符   \n之外的任何单字符。要匹配   .,请使用   \.    
     标记一个中括号表达式的开始。要匹配   [],请使用   \[  ,\]。    
    匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配   ?   字符,请使用  \?。    
    将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。例如,   'n'  匹配字符   'n'。'\n'   匹配换行符。序列   '\\'   匹配   "\",而   '\('   则匹配  "("。    
    匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合。要匹配   ^   字符本身,请使用   \^。    
    }标记限定符表达式的开始。要匹配   {},请使用   \{, \}。    
    指明两项之间的一个选择。要匹配   |,请使用   \|。



以前经常用,只知道能截取字符串变成数组,又涨了姿势。学而时习之,不亦说乎。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值