关于java字符串切割split的几个问题

关于java字符串切割split的几个问题,第1张

String[] 就是字符串数组的意思。

newstr是字符串数组的引用,newstrlength就是这个字符串数组的长度。

这个其实看API最好,

limit 参数控制模式应用的次数,因此影响所得数组的长度。如果该限制 n 大于 0,则模式将被最多应用

n - 1 次,数组的长度将不会大于 n,而且数组的最后一项将包含所有超出最后匹配的定界符的输入。如果 n

为非正,那么模式将被应用尽可能多的次数,而且数组可以是任何长度。如果 n 为

0,那么模式将被应用尽可能多的次数,数组可以是任何长度,并且结尾空字符串将被丢弃。

        // 测试字符串

        String source = "012345678a012345678b012345678c012345678d012345678e012345678f01234";

        // 规定 长度

        int needLength = 10;

        // 优化的结果集。

        // 也可以直接 List<String> resultList = new ArrayList<String>();

        List<String> resultList = new ArrayList<String>(sourcelength()

                % needLength + 1);

        

        String subStr;

        int endIndex = 0;

        

        while (sourcelength() > 0) {

            // 判断截取的长度

            endIndex = sourcelength() > needLength needLength : source

                    length();

            // 获得街区后的长度

            subStr = sourcesubstring(0, endIndex);

            // 截取剩余的字符串

            source = sourcesubstring(endIndex);

            resultListadd(subStr);

        }

        Systemoutprintln(resultList);

可以通过java的”substring“方法截取出对应的字符串,前提是知道开始和结束的字符串的值:\x0d\String getSignInfo = reqResultsubstring(reqResultindexOf("(") + 1, reqResultindexOf(")"));\x0d\解释:上述方法就是截取reqResult字符串的中开始”(“和结束”)“中间部分的内容,”1“就是”)“的长度,之后将获取的结果赋值给”getSignInfo进行输出即可“;\x0d\备注:以上方法通用于截取字符串,数字”6“和开始结束字符串根据实际需要修改即可。

class Test

{

public static void main(String[] args)

{

String str="adfaf bc dddd 33 40";

String[] strs=strsplit(" ");

for(String element : strs)

Systemoutprintln(element);

}

}

你要的数据也就是数组中的第一个元素了

JAVA中字符去空格

1 strtrim();去掉⾸尾空格

2 strreplace(" ", ""); 去掉所有空格,包括⾸尾、中间

String str = " hell o ";

String str2 = strreplaceAll(" ", "");

Systemoutprintln(str2);

3 strreplaceAll(" +"," "); 把所有重复的空格合并成⼀个空格

4 strreplaceAll("\\s", ""); 可以替换⼤部分空⽩字符,去掉空格很有效,但想替换为⼀个空格符就⾏不通不限于空格\s 可以匹配空格、制表符、换页符等空⽩字符的其中任意⼀个

在拆分字符时建议⽤如下⽅法:

先替换制表符为空格,再把所有重复的空格合并成⼀个空格,最后去⾸尾空格

str = strreplace("\t", " ")replaceAll(" +"," ")trim();

String[] arr = strsplit(" ");

转义符说明:

\t:制表符

\n:换⾏符

\n\t:换⾏且⾏⾸空四格

\s:空格

\r:回车符

\\t:多见于正则表达式,\\s匹配字符串中的\和s两个字符,因为\在正则中有特殊意义,需要转义,所以前⾯加上了⼀个转义符\

5

百度文库VIP限时优惠现在开通,立享6亿+VIP内容

立即获取

JAVA中字符去空格

JAVA中字符去空格

1 strtrim();去掉⾸尾空格

2 strreplace(" ", ""); 去掉所有空格,包括⾸尾、中间

String str = " hell o ";

String str2 = strreplaceAll(" ", "");

Systemoutprintln(str2);

3 strreplaceAll(" +"," "); 把所有重复的空格合并成⼀个空格

4 strreplaceAll("\\s", ""); 可以替换⼤部分空⽩字符,去掉空格很有效,但想替换为⼀个空格符就⾏不通不限于空格\s 可以匹配空格、制表符、换页符等空⽩字符的其中任意⼀个

第 1 页

在拆分字符时建议⽤如下⽅法:

先替换制表符为空格,再把所有重复的空格合并成⼀个空格,最后去⾸尾空格

str = strreplace("\t", " ")replaceAll(" +"," ")trim();

String[] arr = strsplit(" ");

转义符说明:

\t:制表符

\n:换⾏符

\n\t:换⾏且⾏⾸空四格

\s:空格

第 2 页

\r:回车符

\\t:多见于正则表达式,\\s匹配字符串中的\和s两个字符,因为\在正则中有特殊意义,需要转义,所以前⾯加上了⼀个转义符\

import javautilHashMap;

public class Test

{

public static void main(String[] args)

{

// 打算以空间换时间,仅遍历一次, 也可以少定义变量,但是多做几次循环

final int category = 5; // 假设有"装订类别", "书籍语言", "功能类别", "适合人群",

// "图书类别"这5个类别

HashMap<String, Integer> map1 = new HashMap<String, Integer>();

HashMap<String, Integer> map2 = new HashMap<String, Integer>();

HashMap<String, Integer> map3 = new HashMap<String, Integer>();

HashMap<String, Integer> map4 = new HashMap<String, Integer>();

HashMap<String, Integer> map5 = new HashMap<String, Integer>();

int max1 = 0, max2 = 0, max3 = 0, max4 = 0, max5 = 0;

String max1s, max2s, max3s, max4s, max5s;

max1s = max2s = max3s = max4s = max5s = null;

String str = "装订类别-精装@书籍语言-中文@功能类别-社会科学@适合人群-全部@图书类别-科幻\n"

+ "装订类别-精装@书籍语言-中文@功能类别-基础科学@适合人群-学生@图书类别-文艺\n"

+ "装订类别-精装@书籍语言-英文@功能类别-社会科学@适合人群-学生@图书类别-文艺\n"

+ "装订类别-简装@书籍语言-中文@功能类别-社会科学@适合人群-学生@图书类别-文艺";

String[] strs = strsplit("@|\n"); // 假设每行以\n结束,如果是\r\n,则strsplit("@ | \r\n");

for (int i = 0; i != strslength; ++i)

{

switch (i % category)

{

case 0:

{

Integer v = map1get(strs[i]);

if (v == null)

v = 1;

else

v += 1;

map1put(strs[i], v);

if (v > max1)

{

max1 = v;

max1s = strs[i];

}

}

break;

case 1:

{

Integer v = map2get(strs[i]);

if (v == null)

v = 1;

else

v += 1;

map2put(strs[i], v);

if (v > max2)

{

max2 = v;

max2s = strs[i];

}

}

break;

case 2:

{

Integer v = map3get(strs[i]);

if (v == null)

v = 1;

else

v += 1;

map3put(strs[i], v);

if (v > max3)

{

max3 = v;

max3s = strs[i];

}

}

break;

case 3:

{

Integer v = map4get(strs[i]);

if (v == null)

v = 1;

else

v += 1;

map4put(strs[i], v);

if (v > max4)

{

max4 = v;

max4s = strs[i];

}

}

break;

case 4:

{

Integer v = map5get(strs[i]);

if (v == null)

v = 1;

else

v += 1;

map5put(strs[i], v);

if (v > max5)

{

max5 = v;

max5s = strs[i];

}

}

break;

}

}

Systemoutprintln("A=" + max1ssplit("-")[1] + " B=" + max2ssplit("-")[1] + " C="

+ max3ssplit("-")[1] + " D=" + max4ssplit("-")[1] + " E=" + max5ssplit("-")[1]);

}

}

以上就是关于关于java字符串切割split的几个问题全部的内容,包括:关于java字符串切割split的几个问题、java将70个字符进行分割、java 怎么截取字符串中的括号等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9456169.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存