精华内容
下载资源
问答
  • java对字符串进行分割
    千次阅读
    2022-04-07 13:59:19

    直接上代码:

    public class Test {
    
      /**
       * 将字符串按照指定长度分割成字符串数组
       *
       * @param src
       * @param length
       * @return
      */
      public static String[] stringToStringArray(String src, int length) {
            //检查参数是否合法
            if (null == src || src.equals("")) {
                return null;
            }
     
            if (length <= 0) {
                return null;
            }
            int n = (src.length() + length - 1) / length; //获取整个字符串可以被切割成字符子串的个数
            String[] split = new String[n];
            for (int i = 0; i < n; i++) {
                if (i < (n - 1)) {
                    split[i] = src.substring(i * length, (i + 1) * length);
                } else {
                    split[i] = src.substring(i * length);
                }
            }
            return split;
      }
    
      public static void main(String[] args) {
        //测试数据
        String data = "40040001016216860D";
        //输出[40, 04, 00, 01, 01, 62, 16, 86, 0D]
        System.out.println(Arrays.toString(BaseConvertUtil.stringToStringArray(data, 2)));
    
      }
    }

    更多相关内容
  • 主要介绍了Java StringUtils字符串分割转数组的实现,文中通过示例代码介绍的非常详细,大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 下面小编就为大家带来一篇java 字符串分割的三种方法(总结)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • Java分割字符串

    千次阅读 2022-03-21 16:20:51
    java中按某个标识符分割字符串的方法如下: Scanner scanner = new Scanner(System.in); String source = scanner.next(); String[] sourceArray = source.split("/"); for (int i = 0; i < sourceArray....

    java中按某个标识符分割字符串的方法如下:

    Scanner scanner = new Scanner(System.in);
    
            String source = scanner.next();
          
            String[] sourceArray = source.split("/");
            for (int i = 0; i < sourceArray.length; i++) {
                System.out.println(sourceArray[i]);
            }
    

    如果需要指定分割后的数量的话,之家再split方法中再传入指定数量即可。

    Scanner scanner = new Scanner(System.in);
    
            String source = scanner.next();
            // 最多分割出3个字符串
            int max = 3;
            String[] sourceArray = source.split("/", max);
            for (int i = 0; i < sourceArray.length; i++) {
                System.out.println(sourceArray[i]);
            }
    

    注意事项:

    1、分隔符为"."(无输出),"|"(不能得到正确结果)转义字符时,"*","+“时出错抛出异常,都必须在前面加必须得加”\",如split(\|);
    2、如果用"“作为分隔,就得写成这样:String.split(”\\"),因为在Java中是用"\“来表示”“的,字符串得写成这样:String Str=“a\b\c”;
    转义字符,必须得加”\";
    3、如果在一个字符串中有多个分隔符,可以用"|“作为连字符,比如:String str=“Java string-split#test”,可以用Str.split(” |-|#")把每个字符串分开。

    展开全文
  • java字符串分割方法

    万次阅读 2021-11-17 22:37:51
    java 分割字符串split()方法 实现功能 编写一个将字符串分段的类,传入:需分段的字符串 与 字符个数(以此个数进行分段),输出:按指定字符个数进行分段后的若干字符串(汉字算单个字符)。 功能实现要求分析 ...

    java 分割字符串split()方法

    实现功能
    编写一个将字符串分段的类,传入:需分段的字符串 与 字符个数(以此个数进行分段),输出:按指定字符个数进行分段后的若干字符串(汉字算单个字符)。

    功能实现要求分析

    • 字符串传入
    • 字符串分段
    • 字符串输出

    实现思路

    Java是一个面向对象设计类语言,自身提供了很多方法帮助我们实现想要的功能。
    那么如何实现字符串传入功能?
    我们需要了解一个Java类----Scanner类,这是一个用于扫描输入文本的新的实用程序。自Java 5版本添加了java.util.Scanner类,它是以前的StringTokenizer和Matcher类之间的某种结合。借助于Scanner,可以针对任何要处理的文本内容编写自定义的语法分析器。
    Scanner

    使用Scanner类需导包 import java.util.Scanner;

    上图显示了Scanner的部分使用格式,sc.next后加数据基本类型。

    Scanner s = new Scanner(System.in);
            String n = s.next();
    

    这是传入字符串的实现代码。

    字符串分割

    对字符串进行操作,自然第一个会想到String类有没有相应的方法来实现分割操作,了解过API或者对Java有了解过的首先会想到String类下的split()方法能够实现这个功能。下面来看看split()方法的使用格式。

            String []a=se.split(",");
            String []b=se.split(",",5);
    

    1.se.split(String sign);
    2.se.split(String sign,int limit);

    第一种是以逗号作为标记分割,也就是sign 为自己指定的分割符,sign可以是任意字符串。
    第二种是在第一种的基础上对分割的字符串数量进行限制。

    显而易见,split()方法有些局限,对于原来字符串的内容有要求。
    如:

     String p = "石家庄-武汉-哈尔滨";
            String []g = p.split("-");
            for(String y : g)
                System.out.println(y);
    

    输出结果

    在这段程序中,分割符为“-”,输出结果也确实达到预期,但也不难发现利用split()分割字符串需要内容带分隔符

    所以我们利用这一特点,不难想到可以先对字符串按间距添加分隔符,然后再使用split()方法来实现分割功能。
    理论上使用一个for循环就能实现,但是字符串是常量,一旦创建,其内容和长度是不可以改变的。所以在这里我们要用到String Buffer或者String Builder类,这两个类提供了修改功能,类似一个容器。
    实现代码如下:

     int m=0;
            for(int i=0;i+m<str.length();i++){
                if(i%l==0) {
                    str.insert(i + m, ",");
                    m++;
                }
            }
    

    代码中l是分割的长度,m是添加分隔符后加1的标记

    在这里插入图片描述
    上图清晰地解释了m的作用,实际上就是更新了下一位分割位置,因为在添加分隔符时长度也在增加(更新)。

    使用split()方法
    对原字符串完成分隔符插入后,新字符串已经带有分隔符并且是在预想的位置上,所以理论上我们就可以使用split()方法完成分割字符串。
    代码如下:

     String se= str.toString();
            String []a=se.split(",");
    

    返回成字符串se,将分割后结果存储到字符串数组a[]中,方便输出

    输出分割结果
    代码如下:

     for(String j:a)
                System.out.println(j);
    

    遍历a[],并输出

    完整代码

    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) {
            StringBuilder str = new StringBuilder();
            Scanner s = new Scanner(System.in);
            String n = s.next();
            str.append(n);
            Scanner x = new Scanner(System.in);
            int l = x.nextInt();
            int m=0;
            for(int i=0;i+m<str.length();i++){
                if(i%l==0) {
                    str.insert(i + m, ",");
                    m++;
                }
            }
            String se= str.toString();
            String []a=se.split(",");
            for(String j:a)
                System.out.println(j);
        }
    }
    

    运行结果
    在这里插入图片描述
    在这里插入图片描述

    结语
    制作不易,觉得本文有帮助的支持一下!如有其他问题,可直接私信。

    展开全文
  • 主要介绍了Java字符串去重的特性,是Java8中引入的一个新特性,至于是否真的用起来顺手就见仁见智了...需要的朋友可以参考下
  • 主要介绍了Java中使用正则表达式实现字符串匹配,字符串查找,匹配,替换,正则无不能做,特别是灵活的运用子串匹配,感兴趣的小伙伴们可以参考一下
  • jsp截取中文字符串 len为字节长度
  • 下面小编就为大家带来一篇java判断字符串是否有逗号的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • Java实现字符串的匹配

    2020-12-22 21:45:38
    假设我们有一个一定个数的字母组成字串,我给每个字母分配一个素数,从2开始,往后类推。这样A将会是2,B将会是3,C将会是5,...遍历短字符串,判断乘积能否被短字符串中的字符对应的素数整除。  4.输出结果。  
  • 今天小编就为大家分享一篇java字符串常用操作方法(查找、截取、分割),具有很好的参考价值,希望大家有所帮助。一起跟随小编过来看看吧
  • 主要介绍了Java实现数组转字符串及字符串转数组的方法,结合实例形式分析了Java字符串及数组相关的分割、遍历、追加等操作技巧,需要的朋友可以参考下
  • 最近工作中遇到了一个需求,需要利用java获取字符串中的数字,尝试几种方法后发现利用正则表达式实现最为方法,下面这篇文章就主要介绍了Java通过正则表达式获取字符串中数字的方法,文中给出了详细的示例代码,需要...
  • 下面小编就为大家分享一篇Java中将String类型依照某个字符分割成数组的方法,具有很好的参考价值,希望大家有所帮助。一起跟随小编过来看看吧
  • 主要介绍了Java分割字符串的两种方法,一种是java.lang.String 的 split() 方法,,另外一种是用String Tokenizer类。文中的每种方法都给出了详细的示例代码,相信大家的理解和学习具有一定的参考借鉴价值,有...
  • Java字符串解析

    千次阅读 2021-02-28 18:09:48
    1、字符串不属于基本数据类型(基本数据类型有【byte,int,char,float,double,boolean,short,long】),字符串由单个或多个字符组成,本质上是字符数组,Java中提供两种实现字符串的类,分别是String、StringBuffer类。...

    1、字符串不属于基本数据类型(基本数据类型有【byte,int,char,float,double,boolean,short,long】),字符串由单个或多个字符组成,本质上是字符数组,Java中提供两种实现字符串的类,分别是String、StringBuffer类。

    String类

    字符串的声明:

    1、常量声明方式

    String sName="Bob";

    2、对象声明方式

    String sName=new String("Bob");

    3、由字符数组初始化

    String sName=new String(char[] ch);

    4、由字符数组指定元素个数

    String sName=new String(char[] ch,int index,int length);

    4、指定字符数组的起始位置

    String sName=new String(char[] ch,int begin,int end);

    测试用例:

    public static void main(String []args)

    {

    //常量声明方式

    String sName="Bob";

    System.out.println(sName);//输出Bob

    // 对象声明

    String sName1=new String("Bob");

    System.out.println(sName); //输出Bob

    // 由字符数组声明

    char [] ch=new char []{'a','b','c','d'};

    String sNum=new String(ch);

    System.out.println(sNum); //输出abcd

    // 指定字符数据的起位置和长度,

    String sNum1=new String(ch,1,2);

    System.out.println(sNum1); //输出bc

    // 指定起始位置

    String sNum2=new String(ch,1,3);

    System.out.println(sNum2); //输出bcd

    System.out.println("数组的长度:" + ch.length); //输出4

    int iLen=sNum.length();

    System.out.println("对应字符串长度:" + iLen); //输出4

    }字符串的操作:

    1、字符串的比较

    对于字符串的比较采用如下方法:

    (1)equals():比较两个字符串的内容是否相同,返回值为Boolean类型;

    (2)equalsIgnoreCase:忽略大小写,比较两个字符串的内容是否相同,返回值为Boolean类型。

    (3)compareTo(String anotherString):按照字典表的顺序比较,返回值为int类型。

    注意:在比较字符串的时候,不要使用"=="进行比较,因为"=="比较的是对象,判断两个对象是否为同一个对象,如果内容相同而不是同一个对象,返回的是false,对应的不是同一个内存地址。

    实例:

    public static void main(String []args)

    {

    String sUpper="WELCOME TO CHINA";

    String sLow="Welcome to china";

    String sSame="WELCOME TO CHINA";

    String sLow1="xelcome to china";

    if(sUpper.equals(sSame)){

    System.out.println("使用equlas比较结果:True");

    }

    else{

    System.out.println("使用equals比较结果:False");

    }

    if(sUpper.equalsIgnoreCase(sLow)){

    System.out.println("使用equalsIgnoreCase比较结果:True");

    }

    else{

    System.out.println("使用equalsIgnoreCase比较结果:False");

    }

    int j=sLow1.compareTo(sUpper);

    System.out.println(j);//输出为32

    int i=sLow1.compareTo(sUpper);

    System.out.println(i); //输出为33,由此得知compareTo输出ASIIC码值差值。

    }

    2、字符串的连接,使用concat方法进行操作。该方法可以连续连接若干个字符串,返回值也是一个字符串

    实例:

    public static void main(String []args)

    {

    String sUpper="WELCOME TO CHINA";

    String sLow="Welcome to china";

    String sConcat=sUpper.concat(sLow);

    System.out.println(sConcat);//输出WELCOME TO CHINAWelcome to china

    String sConcatMore=sUpper.concat(sLow).concat("多个concat");

    System.out.println(sConcatMore);

    }3、字符串的复制,主要有copyValueOf()方法实现,它有两个重载方法,分别提供部分复制和全部复制。

    copyValueOf(char[] ,int offset,int length)

    copyValueOf(char [])

    public static void main(String []args)

    {

    String sLow="Welcome to china";

    char [] ch=new char[sLow.length()];//开辟字符串数组大小

    for(int i=0;i

    ch[i]=sLow.charAt(i);

    }

    System.out.println(ch);//字符输出的值,输出Welcome to china

    String sCopyALL=String.copyValueOf(ch);

    System.out.println(sCopyALL);//输出复制字符串,结果Welcome to china

    String sCopyPart=String.copyValueOf(ch,2,3);

    System.out.println(sCopyPart);//输出部分复制字符串,结果lco,

    //由此说明copyValueOf(char[],起始位置,长度)

    }

    4、字符串替换,采用replace()方法:

    replace(char,char)              //将第一个字符替换为第二个字符

    replaceAll(String,String)//将字符串全部替换

    replaceFirst(String,String)//将字符串中第一个与参数1相同的字符串替换为参数2对应的字符串。

    实例:

    public static void main(String []args)

    {

    String sLow="Welcome to china";

    String sReplaceChar=sLow.replace('W','H');

    System.out.println(sReplaceChar); //输出替换字符的结果:Helcome to china

    String sReplaceAll=sLow.replaceAll("china","nanjing");

    System.out.println(sReplaceAll);//输出替换字符的结果:Welcome to nanjing

    String sReplaceFirst=sLow.replaceFirst("c","HJK");

    System.out.println(sReplaceFirst);//输出替换字符的结果:WelHJKome to china

    }5、分割字符串,分割字符串返回的是字符串数组,采用split()方法

    /*

    split函数的参数要求必须是字符串类型,不能使字符类型,以字符串来分割

    */

    public static void main(String []args)

    {

    String sLow="Welcome to china";

    System.out.println("原句:"+sLow);

    String [] sPlitArray=sLow.split(" ");

    for(int i=0;i

    {

    System.out.println("第"+i+"部分:"+sPlitArray[i]);

    }

    /*

    ---------- 运行 ----------

    原句:Welcome to china

    第0部分:Welcome

    第1部分:to

    第2部分:china

    输出完成 (耗时 0 秒) - 正常终止

    */

    }

    StringBuffer

    StringBuffer对象的字符串长度是可变的,尽管用String定义的常量可以用函数去操作,但是会产生更多的中间变量,所以还是不宜使用,对于要经常修改的字符串,我们可以定义成StringBuffer类型的,方便修改使用。StringBuffer 上的主要操作是 append 和 insert 方法,可重载这些方法,以接受任意类型的数据。每个方法都能有效地将给定的数据转换成字符串,然后将该字符串的字符追加或插入到字符串缓冲区中。append 方法始终将这些字符添加到缓冲区的末端;而 insert 方法则在指定的点添加字符。

    构造方法摘要

    StringBuffer()

    构造一个其中不带字符的字符串缓冲区,其初始容量为 16 个字符。

    StringBuffer(CharSequence seq)

    public java.lang.StringBuilder(CharSequence seq) 构造一个字符串缓冲区,它包含与指定的 CharSequence 相同的字符。

    StringBuffer(int capacity)

    构造一个不带字符,但具有指定初始容量的字符串缓冲区。

    StringBuffer(String str)

    构造一个字符串缓冲区,并将其内容初始化为指定的字符串内容。

    StringBuffer常用方法:

    1、append()众多从在方法,可以接受任何类型数据。

    2、insert()方法一样。

    3、int capacity()返回当前容量

    4、char charAt(int index),返回指定位置的字符。

    5、StringBuffer delete(int start,int end),删除指定的字符串

    6、 void ensureCapacity(int minimumCapacity)确保容量至少等于指定的最小值。

    7、int indexOf(String str) 返回第一次出现的指定子字符串在该字符串中的索引。

    8、int indexOf(String str, int fromIndex)从指定的索引处开始,返回第一次出现的指定子字符串在该字符串中的索引。

    9、int lastIndexOf(String str)返回最右边出现的指定子字符串在此字符串中的索引。

    10、int lastIndexOf(String str, int fromIndex)

    返回最后一次出现的指定子字符串在此字符串中的索引

    11、void setCharAt(int index, char ch) 将给定索引处的字符设置为 ch。

    12、 StringBuffer reverse()将此字符序列用其反转形式取代。

    13、String substring(int start)返回一个新的 String,它包含此字符序列当前所包含的字符子序列。

    注意:String对象分配内存根据实际字符串长度,而StringBuffer分配内存时多开辟16个缓冲内存,所以使用capacity获取的为实际内存+16,而求字符串长度length()时,返回字符串长度。

    public static void main(String []args)

    {

    StringBuffer sb = new StringBuffer();

    System.out.println("原:" + sb);

    sb.append("welcome to china");

    System.out.println("append:" + sb);

    sb.insert(7,"KK");

    System.out.println("insert:" + sb);

    int iCapacity = sb.capacity();

    System.out.println("capacity:" + iCapacity);

    int iLen = sb.length();

    System.out.println("length:" + iLen);

    char ch = sb.charAt(2);

    System.out.println("charAt:" + ch);

    int iIndex = sb.indexOf("e");

    System.out.println("indexOf:" + iIndex);

    String sSubstring = sb.substring(5,15);

    System.out.println("substring:" + sSubstring);

    System.out.println("reverse:" + sb.reverse());

    }

    /*

    ---------- 运行 ----------

    原:

    append:welcome to china

    insert:welcomeKK to china

    capacity:34

    length:18

    charAt:l

    indexOf:1

    substring:meKK to ch

    reverse:anihc ot KKemoclew

    输出完成 (耗时 0 秒) - 正常终止

    */

    展开全文
  • Java中的字符串分割 .

    千次阅读 2021-03-01 06:38:12
    Java中的我们可以利用split把字符串按照指定的分割符进行分割,然后返回字符串数组,下面是string.split的用法实例及注意事项:java.lang.string.splitsplit 方法将一个字符串分割为子字符串,然后将结果作为字符串...
  • java字符串分割

    2020-10-08 15:25:20
    split()方法提供了以下两种字符串分割形式。 (1)split(Stringsign) 该方法可根据给定的分割符字符串进行拆分。 语法如下: str.spli(Stringsign) 其中,sign为分割字符串的分割符,也可以使用正则表达式。. 注意: ...
  • 下面小编就为大家带来一篇浅谈java 字符串,字符数组,list间的转化。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 文章目录分割+截取的简单使用简单分割简单截取升级版分割+截取的使用url分割id截取(或者截取其他由某种规则拼接起来的串儿)结尾 每一个从事java开发的人都是从基础的java学起的,... //将字符串按照某一规则分割 /
  • Java如何实现字符串分割

    千次阅读 2021-04-13 15:52:44
    本章对Java如何实现字符串分割,是基于jDK1.8版本中的String.split()方法。 本文篇幅较长,内容较为复杂涉及到许多小细节,都是我在使用时候以及查阅资料时候遇到的坑,建议反复观看!! 内容中含有源码的解读,...
  • JAVA字符串按分隔符号字符串分割

    千次阅读 2021-02-26 15:59:18
    有些字符串分割需要注意了..如下例子:public class Split {public static void main(String[] args) {String str1 ="1,2,3,4,5";String str2 ="1,2,3,4,";String str3 ="1,,2,3,";String str4=",,,,";System.out....
  • Java字符串分割方法

    2022-06-14 22:22:19
    // 字符串分割方法分割字符串的方法: public String[] split(String regex):按照参数的规则,将字符串切分成为若干部分。注意事项: split方法的参数其实是一个"正则表达式",今后学习。 注意:如果按照英文句点...
  • java分割字符串

    2021-05-14 10:40:56
    一.java.lang.String.split() 在java 默认的分隔符是空格("")、制表符(\t)、换行符(\n)、回车符(\r) 示例: for(String revaal:s.split(" ")){//用空格分隔 System.out.println(count+"ci"+revaal); } 或者 ...
  • java字符串拆分 空字符Java String split() method is used to split the string into a string array based on the provided regular expression. Java String split()方法用于根据提供的正则表达式将字符串拆分...
  • 一、方法1、通过indexOf和substring这两个方法实现字符串分割实现逻辑:利用indexOf找出分割的字符在字符串中的位置,根据分割字符的位置切割字符串,再将分割好的字符串放进结果集。实现代码如下:/*** @...
  • 434. 字符串中的单词数 统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。 请注意,你可以假定字符串里不包括任何不可... * 这里有一个坑,就是”“会分割出空的字符串,我们需要字符串进行判空 *

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 373,624
精华内容 149,449
关键字:

java对字符串进行分割