簡體   English   中英

第一次出現逗號后返回字符串的子字符串

[英]Returning substring of string after first occurence of a comma

如何獲取此輸入CSV文件:

0,1
1,2
3,4
5,6,7
8,10
9,10

並僅在首次出現“,”之后返回每行的子字符串,因此我的輸出是:

1
2
4
6,7
10
10

在用逗號分割后,我只能弄清楚如何在一定范圍內解析字符串,因此我使用string.split(",")[1]返回第一個逗號之后和下一個逗號之前的所有內容,但是我可以請弄清楚如何在第一個逗號后得到所有內容。 因此,對於帶有多個逗號的輸入,我缺少數據。

你可以做:

line.substring(line.indexOf(",")+1)

有一對夫婦的去除的第一次出現之前,一切都不同的方式,

  1. 查找第一個的索引(位置) ,並使用該索引創建子字符串

這看起來像

String wantedPart = lineOfText.substring(lineOfText.indexOf(",") + 1);

由於indexOf返回的索引,它本身,你需要添加一個讓一切過去吧。


  1. 使用更好的重載,如String.split(String regex, int limit) 此重載允許您匹配最大limit子字符串。 因此,與2的限制,它會分裂第一,發現(並沒有更多)。

在您的代碼中,您可以使用

String wantedPart = lineOfText.split(",")[1];

如果要使用Shell腳本,則可以使用cut命令:

-d ','表示使用逗號, -f2-表示使用字段2起。

Machine:~ donald$ cat file.txt
0,1
1,2
3,4
5,6,7
8,10
9,10
Machine:~ donald$ cat file.txt | cut -d ',' -f2-
1
2
4
6,7
10
10
Machine:~ donald$

嘗試使用String.indexOf(“,”)等。

您可以使用重載的split方法,該方法允許定義子字符串的限制。

split(“,”,1)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM