相关疑难解决方法(0)

Java:拆分以逗号分隔的字符串,但忽略引号中的逗号

我有一个模糊的字符串:

foo,bar,c;qual="baz,blurb",d;junk="quux,syzygy"
Run Code Online (Sandbox Code Playgroud)

我想用逗号分割 - 但我需要在引号中忽略逗号.我怎样才能做到这一点?好像正则表达式方法失败了; 我想我可以在看到引号时手动扫描并进入不同的模式,但是使用预先存在的库会更好.(编辑:我想我的意思是已经是JDK的一部分或已经是Apache Commons等常用库的一部分的库.)

上面的字符串应该分成:

foo
bar
c;qual="baz,blurb"
d;junk="quux,syzygy"
Run Code Online (Sandbox Code Playgroud)

注意:这不是CSV文件,它是包含在具有更大整体结构的文件中的单个字符串

java regex string

238
推荐指数
4
解决办法
18万
查看次数

将逗号分隔值转换为List <Long>

假设我有一组像1,2,3,4,5,6,7输入一样的数字String.我想将这些数字转换ListLong对象,即List<Long>.

任何人都可以推荐最简单的方法吗?

java

18
推荐指数
3
解决办法
3万
查看次数

如何将逗号分隔的字符串拆分为空字符串数组

我想要分割",,,"为4的阵列""使用String.split()

这是我的代码:

String str = ",,,";     
String[] tokens = str.split(",");
Run Code Online (Sandbox Code Playgroud)

但是,结果标记是一个空数组:[],而不是"" (["","","",""])我想要的数组4 .

我已经测试过改变了str一下:

String str = ",,,1";        
String[] tokens = str.split(",");
Run Code Online (Sandbox Code Playgroud)

这次结果令牌是["","","","1"].这接近我想要的,但我真的不想在进行拆分之前添加这个"1".

问题基本上是,String.split()如果它只包含空元素,它将返回一个空数组"".

你能帮忙解决问题吗?

java string split

16
推荐指数
1
解决办法
6万
查看次数

在读取文件时使用分隔符

我几乎没有使用分隔符的经验,我需要读取一个文本文件,该文件存储多个对象,其数据以逗号(",")分隔的单行存储.然后使用单独的字符串创建一个添加到arraylist的新对象.

Amadeus,Drama,160 Mins.,1984,14.83
As Good As It Gets,Drama,139 Mins.,1998,11.3
Batman,Action,126 Mins.,1989,10.15
Billy Elliot,Drama,111 Mins.,2001,10.23
Blade Runner,Science Fiction,117 Mins.,1982,11.98
Shadowlands,Drama,133 Mins.,1993,9.89
Shrek,Animation,93 Mins,2001,15.99
Snatch,Action,103 Mins,2001,20.67
The Lord of the Rings,Fantasy,178 Mins,2001,25.87
Run Code Online (Sandbox Code Playgroud)

我使用Scanner读取文件,但是我发现没有找到行错误,整个文件存储在一个字符串中:

Scanner read = new Scanner (new File("datafile.txt"));
read.useDelimiter(",");
String title, category, runningTime, year, price;

while (read.hasNext())
{
   title = read.nextLine();
   category = read.nextLine();
   runningTime = read.nextLine();
   year = read.nextLine();
   price = read.nextLine();
   System.out.println(title + " " + category + " " + runningTime + " " +
                      year + …
Run Code Online (Sandbox Code Playgroud)

java delimiter

7
推荐指数
3
解决办法
7万
查看次数

在java中解析CSV

我有这种奇怪的情况,我必须水平阅读.所以我得到一个csv文件,其中包含横向格式的数据.如下所示:

CompanyName,RunDate,10/27/2010,11/12/2010,11/27/2010,12/13/2010,12/27/2010....
Run Code Online (Sandbox Code Playgroud)

RunDate之后显示的所有日期都是运行日期字段的值,我必须在系统中更新该公司的该字段.日期值不是固定号,它们可以是单值到10到n的数字.所以我需要读取所有这些值并在系统中更新.我用Java写这个.

java csv date

6
推荐指数
2
解决办法
9299
查看次数

如何在Java中将逗号分隔的String转换为ArrayList

我有一个逗号分隔的字符串,我需要转换为ArrayList.我试过这种方式

import java.util.ArrayList;
import java.util.Arrays;

    public class Test {

        public static void main(String[] args) {

            String CommaSeparated = "item1 , item2 , item3";

            ArrayList<String> items = (ArrayList)Arrays.asList(CommaSeparated.split("\\s*,\\s*"));

            for(String str : items)
            {
                System.out.println(str);
            }

        }

    }
Run Code Online (Sandbox Code Playgroud)

它给我如图所示的运行时错误

Exception in thread "main" java.lang.ClassCastException: java.util.Arrays$ArrayList cannot be cast to java.util.ArrayList
    at com.tradeking.at.process.streamer.Test.main(Test.java:14)
Run Code Online (Sandbox Code Playgroud)

因为我试图强制将List转换为arrayList.

java

6
推荐指数
1
解决办法
5万
查看次数

按多个数字排序Java String数组

我在这样的txt文件中有一个数据列表

Date,Lat,Lon,Depth,Mag

20000101,34.6920,-116.3550,12.30,1.21
20000101,34.4420,-116.2280,7.32,1.01
20000101,37.4172,-121.7667,5.88,1.14
20000101,-41.1300,174.7600,27.00,1.90
20000101,37.6392,-119.0482,2.40,1.03
20000101,32.1790,-115.0730,6.00,2.44
20000101,59.7753,-152.2192,86.34,1.48
20000101,34.5230,-116.2410,11.63,1.61
20000101,59.5369,-153.1360,100.15,1.62
20000101,44.7357,-110.7932,4.96,2.20
20000101,34.6320,-116.2950,9.00,1.73
20000101,44.7370,-110.7938,5.32,1.75
20000101,35.7040,-117.6320,4.15,1.45
20000101,41.9270,20.5430,10.00,4.80
Run Code Online (Sandbox Code Playgroud)

我的任务是按照每个标准对这些数据进行排序,例如按日期,纬度和经度排序

我尝试过像这样的冒泡

if ( Double.parseDouble(a[0].split(",")[1]) <  Double.parseDouble(a[1].split(",")[1]))
Run Code Online (Sandbox Code Playgroud)

这工作但需要太多时间

40000txt文件中的theres 数据

有没有其他方法来排序这些数据?

java arrays string

5
推荐指数
1
解决办法
178
查看次数

如何将Java String放入数组

我有一个逗号分隔的数字列表的java字符串,我想把它放入一个数组只有数字.我怎样才能实现这一目标?

String result=",17,18,19,";
Run Code Online (Sandbox Code Playgroud)

java arrays string

0
推荐指数
1
解决办法
3万
查看次数

将 List&lt;String&gt; 中的分隔字符串转换为 List&lt;String&gt;

假设我们有List<String>一些包含分隔符的值,,我们如何将 split 和 merge 转换为List<String>没有分隔符的 a ,

输入[ "1,2", "3,4", "5" ]

输出[ "1", "2", "3", "4", "5" ]


命令式代码

List<String> input = Arrays.asList("1,2", "3,4", "5");
List<String> output = new ArrayList<>();
for (String str : input) {
  for (String split : str.split(",")) {
    output.add(split);
  }
}
Run Code Online (Sandbox Code Playgroud)

java lambda

0
推荐指数
1
解决办法
66
查看次数

从逗号分隔的字符串中获取第一个值

我有一个以下格式的字符串"

String s = name1,name2,name3,name4,name5,name6;

将name1从这里拿出来的最佳方法是什么?它可以应用于类似的逗号分隔字符串?

任何帮助表示赞赏.

java

-4
推荐指数
2
解决办法
3万
查看次数

标签 统计

java ×10

string ×4

arrays ×2

csv ×1

date ×1

delimiter ×1

lambda ×1

regex ×1

split ×1