❶ 请问split("\\.")是什么意思(java代码)
split是按照指定的字符分割字符串为字符串数组,这里的分隔符比较特殊,是.所以要加反斜杠进行转义,也就是达到利用.分割字符串的效果。
比如x.y.z 调用split("\\.")后得到数组[x,y,z]
❷ Java split方法
java中String的split方法有两个,
split(Stringregex) 根据给定正则表达式的匹配拆分此字符串。例如:将下列字符串以“a”分割,
其中:limit来限制被分割后数组的元素个数;
❸ java中split怎么用
split函数中的参数是正则表达式,当然也可以是普通字符
一普通字符:
String ip = "192.168.1.1";
String a[] = ip.split("\\.");
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
String ipName = ip.replaceAll("\\.", "-");
System.out.println(ipName);
String[] ipArr = ipName.split("-");
for(int i=0;i<ipArr.length;i++){
System.out.println(ipArr[i]);
}
❹ java中split如何使用
应该这样
String[] a = "123\"},{\"456".split("\"\\},\\{\"");
因为} {这两个字符在正则表达式中是有特殊意义的 所以需要进行转义
正则表达式的转义标识是 \ 所以要加\ 但是因为Java字符串的转义标识也是\ 所以需要再转义\ 以表示 正则表达式的\字符
所以} 应该在正则表达式字符串中写成 \\}
其他同理
❺ java的split("//.")方法,对“.”分割
split的参数是String regex,也就是正则表达式,里面的.号有特殊作用
所以java中函数split(".")必须是split("\."),而不是split("//."),楼主你没分清斜杠和反斜杠,这是教训,要记住。
例:
楼主若觉得回答有所帮助,望采纳,谢谢!
❻ Java的split()是怎么拆分字符串的
java拆分字符串使用string类的spilt方法,针对某个分隔符来分割一个字符串,示例如下:
public class StringSplit {
public static void main(String[] args) {
String sourceStr = "1,2,3,4,5";//一个字符串
String[] sourceStrArray = sourceStr.split(",");//分割出来的字符数组
for (int i = 0; i < sourceStrArray.length; i++) {
System.out.println(sourceStrArray[i]);
}
// 最多分割出3个字符串
int maxSplit = 3;
sourceStrArray = sourceStr.split(",", maxSplit);
for (int i = 0; i < sourceStrArray.length; i++) {
System.out.println(sourceStrArray[i]);
}
}
}
输出结果为:
2
4
1
3,4,5
❼ java split()根据换行符号截取字符串为数组
classMain{);
staticpublic);
voidmain(String[]str));
{Strings="1234567\n890\n110A";String[]array=s.split("[\\t\\n]+");
for(int i=0;i<array.length;i++)System.out.println(array[i]));
}//main);
}//class);
字符串主要用于编程,概念说明、函数解释、用法详述见正文,这里补充一点:字符串在存储上类似字符数组,所以它每一位的单个元素都是可以提取的,如s=“abcdefghij”,则s[1]=“a”,s[9]="j",而字符串的零位正是它的长度。
函数应用
1、连接运算 concat(s1,s2,s3…sn) 相当于s1+s2+s3+…+sn.
例:concat(‘11’,'aa’)='11aa’;
2、求子串。 Copy(s,I,I) 从字符串s中截取第I个字符开始后的长度为l的子串。
例:(‘abdag’,2,3)=’bda’
3、删除子串。过程 Delete(s,I,l) 从字符串s中删除第I个字符开始后的长度为l的子串。
例:s:=’abcde’;delete(s,2,3);结果s:=’ae’
以上内容参考:网络-字符串
❽ 我想用split(";")来分隔我的Java代码, 但是若是字符串中有`;`我该怎么办
你的问题在于转义的双引号字符串内的分号不应该拿来分割。未解决这个问题只能将转义的部分单独截取出来,不参与分割,等其他部分分割结束后,再将转义的内容拼接进去即可。
为防止双引号转义符内部还有其他双引号转义符"的影响,对\"用#@#占位符将之替换。
需要引入第三方工具类辅助进行占位符替换:
import org.apache.commons.lang3.StringUtils;
依赖为:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.3.2</version>
</dependency>
代码为:
public class Main {
public static void main(String[] args) {
String a = "String a = ";";String b = "aaaa";";
String b = "String a = "\";";String b = "aaaa";";
System.out.println(codeSplit(a));
System.out.println(codeSplit(b));
}
private static List<String> codeSplit(String a){
//排除双引号转义符内部还有其他双引号转义符"的影响,用“#@#”占位符将之替换
a = StringUtils.replace(a, "\"", "#@#");
List<String> result = new ArrayList<>();
boolean start = true;//检查双引号转义符,为true时代表找到双引号转义符的左转义符,为false时代表找到双引号转义符的右转义符
while (a.indexOf(""") > 0) {
int index = a.indexOf(""");//index:双引号左转义符位置
//发现双引号转义符时,将当前字符串的(0 至 index + 1)字符截取出来作为tmp
String tmp = a.substring(0, index + 1);
a = a.substring(index + 1);//将截取剩下的部分重新赋值给原字符串
if (start) {
//发现双引号转义符的左转义符,对tmp字符串按分号进行分割,将不为空的结果添加到结果集中
String[] stArr = tmp.split(";");
for (String s : stArr) {
if (s.length() > 0) {
result.add(s);
}
}
} else {
//发现双引号转义符的右转义符,不进行分割,将tmp字符串拼接到结果集的最后一个字符串中
String end = result.get(result.size() - 1);
end += tmp;
result.remove(result.size() - 1);
result.add(end);
}
start = !start;//转置双引号转义符标志,正常情况下双引号转义符必须成对出现,否则将得到预期外的结果
}
//跳出循环后对剩余的a字符串再做一次分割
String[] stArr = a.split(";");
for (String s : stArr) {
if (s.length() > 0) {
result.add(s);
}
}
//将结果集内的“#@#”占位符还原为"
return result.stream().map(s -> StringUtils.replace(s, "#@#", "\"")).collect(Collectors.toList());
}
}
❾ java中split的用法问题
Java中的我们可以利用split把字符串按照指定的分割符进行分割,然后返回字符串数组,下面是string.split的用法实例及注意事项:
java.lang.string.split
split 方法
将一个字符串分割为子字符串,然后将结果作为字符串数组返回。
stringObj.split([separator,[limit]])
stringObj
必选项。要被分解的 String 对象或文字,该对象不会被split方法修改。
separator
可选项。字符串或正则表达式对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。
limit
可选项。该值用来限制返回数组中的元素个数(也就是最多分割成几个数组元素,只有为正数时有影响)
split 方法的结果是一个字符串数组,在 stingObj 中每个出现 separator 的位置都要进行分解。separator不作为任何数组元素的部分返回。
示例1:
String str="Java string split test";
String[] strarray=str.split(" ");
for (int i = 0; i < strarray.length; i++)
System.out.println(strarray[i]);
将输出:
Java
string
split
test
示例2:
String str="Java string split test";
String[] strarray=str.split(" ",2);//使用limit,最多分割成2个字符串
for (int i = 0; i < strarray.length; i++)
System.out.println(strarray[i]);
将输出:
Java
string split test
示例3:
String str="192.168.0.1";
String[] strarray=str.split(".");
for (int i = 0; i < strarray.length; i++)
System.out.println(strarray[i]);
结果是什么也没输出,将split(".")改为split("//."),将输出正确结果:
192
168
0
1
经验分享:
1、分隔符为“.”(无输出),“|”(不能得到正确结果)转义字符时,“*”,“+”时出错抛出异常,都必须在前面加必须得加"//",如split(//|);
2、如果用"/"作为分隔,就得写成这样:String.split("////"),因为在Java中是用"//"来表示"/"的,字符串得写成这样:String Str="a//b//c";
转义字符,必须得加"//";
3、如果在一个字符串中有多个分隔符,可以用"|"作为连字符,比如:String str="Java string-split#test",可以用Str.split(" |-|#")把每个字符串分开;
注:参考网址http://blog.csdn.net/lifuxiangcaohui/article/details/8480921
-------------------------------------------我来自【Java时空】团队,希望可以帮到您
❿ java编程split(".")
split("\.")
在split("里面放入双斜杆.")就能分割了,应为.是转译字符。
因为里面是正则表达式。