亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如果第一個子字符串在字符串列表中重復,如何刪除元素?

如果第一個子字符串在字符串列表中重復,如何刪除元素?

C#
叮當貓咪 2023-09-09 16:12:54
我遇到一個情況,如果在逗號在另一個元素中重復之前“968934”部分是相同的,我想從列表中刪除該元素。如果子字符串部分重復,我只想將“655”元素保留在列表中。如果它沒有重復,我想無論如何保留該元素。我怎樣才能做到這一點?968934,655,814968934,123,814
查看完整描述

3 回答

?
慕尼黑的夜晚無繁華

TA貢獻1864條經驗 獲得超6個贊

假設您從文件中獲取輸入,您可以簡單地創建一個字典,其中 Key 是第一個子字符串,并且在讀取文件時將子字符串添加到字典中(如果不存在)。最后,值將包含以該鍵開頭的整行,但僅一次


Dictionary<string, string> keys = new Dictionary<string,string>();

foreach(string line in File.ReadLines("yourInputFile.csv"))

{

    if(!keys.ContainsKey(line.Split(',')[0]))

        keys.Add(line.Split(',')[0], line);

        // or, if you want only the second element

        //keys.Add(line.Split(',')[0], line.Split(',')[1]);

}

現在,您可以通過簡單的操作輕松檢索獨特的線條


string[] values = keys.Values.ToArray();

當然,所有這些分割都可以只執行一次,添加一個中間數組變量,然后使用它


Dictionary<string, string> keys = new Dictionary<string,string>();

foreach(string line in File.ReadLines("yourInputFile.csv"))

{

    var splittedLine = line.Split(',');

    if(!keys.ContainsKey(splittedLine[0])

        keys.Add(splittedLine[0], line);

        // or, if you want only the second element

        //keys.Add(splittedLine[0], splittedLine[1]);

}


查看完整回答
反對 回復 2023-09-09
?
倚天杖

TA貢獻1828條經驗 獲得超3個贊

您是否考慮過使用 group by 和 split


IEnumerable<string> ids = new List<string> {

    "968934,655,814",

    "968934,123,814"

};

ids = from i in ids

      group i by i.Split(',')[0] into g

      select g.FirstOrDefault();


查看完整回答
反對 回復 2023-09-09
?
達令說

TA貢獻1821條經驗 獲得超6個贊

使用 LINQ 和 GroupBy,您可以按字符串的第一段進行分組,如果有多個項目具有相同的第一段,則將其刪除。


var items = list

    .Select(s => new 

    { 

        FirstPart = s.Substring(0, s.IndexOf(',')), 

        String = s

    })

    .GroupBy(s => s.FirstPart)

    .SelectMany(g => g.Count() == 1 

        ? new[] { g.First().String } 

        : g.Select(x => x.String.Substring(x.FirstPart.Length + 1)))

    .ToList();


查看完整回答
反對 回復 2023-09-09
  • 3 回答
  • 0 關注
  • 160 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號