[英]How to find the number of newlines and word separated by “,” in Java?
我的字符串变量包含一个字符串,每个都在不同的行上。 如何找到其中的新行数,然后在特定字符串行上用,
分隔符分隔每个单词? 变量内容如下所示
null37,Abhishek,ARS,b,ABC,Development,2011-05-30 00:00:00.0,abhishek123@cjb.net
null38,Abhishek,SAS,c,ABC,Development,2011-05-30 00:00:00.0,abhishek123@cjb.net
null39,Abhishek,DGV,a,ABC,Production,2011-05-30 00:00:00.0,abhishek123@cjb.net
编辑:
我试过这个
String xmlstr="""null37,Abhishek,ARS,b,ABC,Development,2011-05-30 00:00:00.0,abhishek123@cjb.net
null38,Abhishek,SAS,c,ABC,Development,2011-05-30 00:00:00.0,abhishek123@cjb.net
null39,Abhishek,DGV,a,ABC,Production,2011-05-30 00:00:00.0,abhishek123@cjb.net"""
String[] splitStr = xmlstr.split('\n');
for(String str : splitStr)
{
String splitted = str.split(',');
println splitted
}
我得到了一些未知的东西,
[Ljava.lang.String;@148bd3
[Ljava.lang.String;@a4e743
[Ljava.lang.String;@4aeb52
要获得换行符的数量
int newLines = myString.split("\\r?\\n").length;
用逗号分隔每个单词
String[] words = myString.split(",");
您还可以使用 Groovy 的splitEachLine
方法。
它是这样工作的:
String xmlstr = """null37,Abhishek,ARS,b,ABC,Development,2011-05-30 00:00:00.0,abhishek123@cjb.net
null38,Abhishek,SAS,c,ABC,Development,2011-05-30 00:00:00.0,abhishek123@cjb.net
null39,Abhishek,DGV,a,ABC,Production,2011-05-30 00:00:00.0,abhishek123@cjb.net"""
xmlstr.splitEachLine( /,/ ) { tokens ->
println "${tokens[1]} : ${tokens[7]}"
}
打印出来:
Abhishek : abhishek123@cjb.net
Abhishek : abhishek123@cjb.net
Abhishek : abhishek123@cjb.net
你的错误只是
String splitted = str.split(','); // Wrong
应该是一个数组:
String[] splitted = str.split(','); // Fixed
当 Java 程序打印 arrays 时,第一个字符是L
,后跟 class,然后是对象的 ZECD2617BF37190CD88169B495000CD86000CD86000CD88000CD8000000000000。
这里有一些 Java 代码可以编译,这样你就可以看到脚本语言隐藏的问题:
String[] lines = originalString.split("\\r?\\n")); // Do this only once
int numberOfNewLines = lines.length;
int myLine = 5; // Say
String[] words = lines[myLine];
您可以轻松地将这些想法包装在一些干净的代码中。
新行字符是 '\n'。 所以你应该先用'\n'分割。 然后用','分割。
String[] splittedByNewLine = originalString.Split('\n');
for(String str : splittedByNewLine )
{
String[] splittedByComma = str.split(',');
for(String str : splittedByComma )
{
"println str..."
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.