java中字符串分割特殊字符处理_java字符串按照特定字符分割

java中字符串分割特殊字符处理_java字符串按照特定字符分割String类型的对象在用split()方法进行字符分割的时候常常会遇到用特殊字符进行分割的情况,看JDK知道split()实际上是用的正则实现的分割,当遇到一些用特殊字符作为分割标志的时候,不使用特殊手段就会抛出java.util.regex.PatternSyntaxException异常,比如用java中的运算符号,括号等等这个时候可以使用split(“[*]”)split(“//+”)来…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

String类型的对象在用split()方法进行字符分割的时候常常会遇到用特殊字符进行分割的情况,看JDK知道split()实际上是用的正则实现的分割,当遇到一些用特殊字符作为分割标志的时候,不使用特殊手段就会抛出java.util.regex.PatternSyntaxException异常,比如用java中的运算符号,括号等等这个时候可以使用split(“[*]”) split(“//+”)来实现特殊字符作为分割标志,[]和//就是用来解决这些问题的,但是有个例外,那就是 / ,这个符号比较麻烦,比如你的字符串是 aaa/bbb,由于在java的字符串中/ 要用//表示所以aaa/bbb用String类型的对象存放就是“aaa//bbb”,而且由于分割的时候还要转义一次所以还要多两个//,所以分割的时候就变成 split(“”)或split(” [ ]”),这才表示用一个/做分割标志。

————————————————————————————

语法:

将一个字符串分割为子字符串,然后将结果作为字符串数组返回。

stringObj.split([separator,[limit]])参数

stringObj 必选项。要被分解的 String 对象或文字。该对象不会被 split 方法修改。

separator 可选项。字符串或 正则表达式对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。

limit 可选项。该值用来限制返回数组中的元素个数。

split 方法的结果是一个字符串数组,在 stingObj 中每个出现 separator 的位置都要进行分解,separator 不作为任何数组元素的部分返回。

————————————————————————————

例:

如果在一个字符串中有多个分隔符,可以用”|”作为连字符,比如:”acount=? and uu =? or n=?”,把三个都分隔出来,可以用String.split(“and|or”);

System.out.println(“?”.replaceAll(“[?]”,”a”));

System.out.println(“*”.replaceAll(“[*]”,”a”));

System.out.println(“)”.replaceAll(“[)]”,”a”));

System.out.println(“{“.replaceAll(“[{]”,”a”));

System.out.println(“(“.replaceAll(“[(]”,”a”));

System.out.println(“|”.replaceAll(“[|]”,”a”));

System.out.println(“$”.replaceAll(“[$]”,”a”));

System.out.println(“+”.replaceAll(“[+]”,”a”));

//下面几种方式也可以替换

System.out.println(“^^”.replaceAll(“//^”,”a”));

System.out.println(“”.replaceAll(“”,”a”));

System.out.println(“||”.replaceAll(“//|”,”a”));

System.out.println(“$$”.replaceAll(“//$”,”a”));

System.out.println(“[[“.replaceAll(“//[“,”a”));

System.out.println(“++”.replaceAll(“//+”,”a”));

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/187422.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 算法:阶乘的五种算法

    算法:阶乘的五种算法背景周末温习了一下递归相关的一些概念,本文先给出阶乘的五种算法。第一种实现:递归1privatestaticlongRecursiveFac(longn)2{3if(n==0

    2022年7月3日
    25
  • jmeter登录返回数据给下一个接口_mysql读写分离实现

    jmeter登录返回数据给下一个接口_mysql读写分离实现问题描述场景是这样的,我们的支付系统在一笔支付完成后,需要发出通知给到商户。支付完成的消息通过消息队列发送给通知的服务。通知服务的有一部分处理逻辑是这样的:notifyPersist.saveNotifyRecord(notifyRecord);notifyRecord=rpNotifyService.getNotifyByMerchant…

    2022年10月13日
    3
  • 手把手教你学DSP:基于TMS320C55x[通俗易懂]

    手把手教你学DSP:基于TMS320C55x[通俗易懂]书名:手把手教你学DSP:基于TMS320C55x作者:陈泰红副书名:出版日期:2011年8月1日出版社:北京航空航天大学出版社页数:348    《手把手教你学DSP:基于TMS320C55x》是以TMS320C55x系列高性能低功耗DSP为主,主要介绍了以数字信号处理器(DSP)为核心的实时数字信号

    2022年4月29日
    44
  • mysql分区之range分区「建议收藏」

    mysql分区之range分区「建议收藏」随着互联网的发展,各方面的数据越来越多,从最近两年大数据越来越强的呼声中就可见一斑。我们所做的项目虽算不上什么大项目,但是由于业务量的问题,数据也是相当的多。数据一多,就很容易出现性能问题,而为了解决这个问题我们通常很容易想到集群、分片等。但是在某些时候却不一定必须要用集群、分片,也可以适当的使用数据分区。什么是分区?(以下引用自:http://wangweiak47.blog.51

    2022年5月7日
    42
  • Calling Matlab function from python: “initializer must be a rectangular nested sequence”

    Calling Matlab function from python: “initializer must be a rectangular nested sequence”

    2021年11月21日
    51
  • global south 有哪些国家_global ethics

    global south 有哪些国家_global ethicsThedifferenceofkeywordsofglobalandnonlocalistheplacewheretheyareuses.Forexample,nonlocolisusedwithinthefunctionforstatingavariablewhichcanbeusedoutsidethefunctionInthesamemeaning,globalisusedoutsidethefunctionfo

    2025年9月3日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号