昨天遇到了一个问题,从前台传来一个字符串,在后台需要split进行拆分,发现结果出乎我的意料,问题如下:
从前台传来的字符串是:a|b|c|d|,需要使用split以|来进行拆分,代码如下:
public static void main(String[] args) {
String str1 = "a|b|c|d|";
String[] arr1 = str1.split("|");
System.out.println("数组arr1的大小是:"+arr1.length);
for (int i = 0; i < arr1.length; i++) {
System.out.println("----arr1["+i+"]:"+arr1[i]);
}
最后打印出来的结果不是我所预期的:
数组arr1的大小是:9
----arr1[0]:
----arr1[1]:a
----arr1[2]:|
----arr1[3]:b
----arr1[4]:|
----arr1[5]:c
----arr1[6]:|
----arr1[7]:d
----arr1[8]:|
数组的大小本来预期的是:4,现在怎么打印出来的是:9。
不知道问题出在那里了,最后将前台传来的字符串不使用"|",使用":"来把它们隔开,问题解决了。
将字符串换成:"a:b:c:d:"后的代码:
public static void main(String[] args) {
String str2 = "a:b:c:d:";
String[] arr2 = str2.split(":");
System.out.println("数组arr2的大小是:"+arr2.length);
for (int i = 0; i < arr2.length; i++) {
System.out.println("----arr2["+i+"]:"+arr2[i]);
}
}
打印出来的结果,遇到预期的是一致的:
数组arr2的大小是:4
----arr2[0]:a
----arr2[1]:b
----arr2[2]:c
----arr2[3]:d
难道使用"|"和":",对于split来说会有不同对待,迷惑,期待高手的指点~~~
分享到:
相关推荐
标题明确指出本文将围绕`String.split()`方法的使用进行深入探讨,旨在总结其功能、用法以及一些实践中的注意事项。这表明文章的目标读者是对Java编程有一定了解,希望提升自己在字符串操作方面技能的人群。 ### ...
如果要作为分隔符使用,也需要进行转义,如`String.split("\\|")`、`String.split("\\*")`和`String.split("\\+")`。如果不进行转义,它们会被解析为正则表达式的一部分,导致不预期的结果或异常。 3. **多个分隔符...
功率分配因为有时String.split()还不够! 这是一个小型的Typescript库,我出于无奈而从头开始编写了命令行解析器。 它提供了一些实用程序方法来解决一些用例,而这些用例String.split()调用将无法解决。它能做什么?...
为了方便管理这些多语言资源,Android使用`String.xml`文件来存储应用中的文本字符串。然而,手动编辑这些XML文件既耗时又容易出错,尤其是在处理大量文本时。这时,就需要借助一些工具进行`String.xml`与Excel之间...
String类的intern、split方法 String 类的 intern 方法是一个本地方法,定义如下:public native String intern();该方法返回一个字符串对象的内部化引用,由 String 类维护一个初始为空的字符串的对象池,当 ...
string[] sArray=s.Split('c') ; foreach(string i in sArray) Console.WriteLine(i.ToString()); 输出下面的结果: ab deab deab de 第二种方法 我们看到了结果是以一个指定的字符进行的分割。使用另一种构造方法对...
柯里化的String.prototype.split支持按字符串、正则表达式或函数进行拆分。 npm install string-split --save npm 统计信息 例子 要求 var split = require ( 'string-split' ) ; 完整的应用程序 split ( "." , ...
总结来说,Java的`String.split()`方法在处理结尾空字符串时,可能因为默认行为而丢失这部分内容。为了避免这种情况,可以使用`split(regex, -1)`形式的重载方法,确保所有的子字符串,包括结尾的空字符串,都能被...
String array[] = (String[]) s1.split("\\|"); // 使用 "|" 作为分隔符进行分割 System.out.println("Test: " + Arrays.toString(array)); // 输出分割后的字符串数组 } ``` 在这段代码中: 1. 第2行定义了一个...
将字符串按某个固定字符拆分成一个表结构(value,id) eg:1,2,3,3,4 拆分后: value id 1 1 2 2 3 3 3 4 4 5
例如,使用“.”作为分隔符时,必须使用`String.split("\\.")`,否则将无法正确地分隔字符串。 2. 使用“|”作为分隔符时,需要使用`String.split("\\|")`,否则将无法正确地分隔字符串。 3. 在一个字符串中有多个...
*string.h - declarations for string manipulation functions * * Copyright (c) Microsoft Corporation. All rights reserved. * *Purpose: * This file contains the function declarations for the string * ...
C#中字符串优化String.Intern、IsInterned详解 C#中字符串优化是指在编程过程中对字符串进行优化,以减少内存占用和提高...通过使用String.Intern和String.IsInterned方法,可以减少内存占用,提高程序的运行效率。
本资源"**C语言库函数源码(string.h)**"是一个宝贵的参考资料,包含了C标准库中`string.h`头文件下的多个库函数的源代码。了解这些源代码能帮助我们深入理解C语言的工作原理,优化自己的程序,并学习如何编写更...
总之,LabVIEW中的16进制字符串转字符串涉及到了字符串处理、数字转换等基础知识,而提供的“HexString_To_String.vi”应该是一个自定义的解决方案,它封装了这个转换过程,方便用户直接使用。通过研究这个VI,你...
不知为何,mysql的开发包中竟然没有 sqlstring.h 这个文件,当你编译时它就提示你找不到这个文件
IE的String.prototype.split()函数bug 脚本: “a:b:c”.split(/(:)/) Firefox输出: [“a”,”:”,”b”,”:”,”c”] IE7/8(含IE9兼容的模式)输出: a,b,c IE9 中文本框中出现了 \n时 会把他保留 需要去掉 而...
但在性能敏感的场景下,可以直接调用`String`类的方法,如`String.IsNullOrEmpty()`,这样可以避免额外的类型转换,提升程序执行效率。 - 字符串相等性测试时,使用`string`比直接比较两个`String`对象更直观,因为...