第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

檢查字符串是否包含任何字符串數(shù)組值,然后獲取子字符串

檢查字符串是否包含任何字符串數(shù)組值,然后獲取子字符串

C#
慕桂英3389331 2022-01-16 14:25:35
這可能是這個SO Question的一個子問題。我想根據(jù)字符串或列表數(shù)組檢查字符串。例子string address = "1st nice ave 1st floor";    //For now, I'm getting the list from a text file but could move to use an EF    List<string> streetType = File.ReadLines(AppDomain.CurrentDomain.BaseDirectory + @"streetType.csv")                              .Where(x => x.Length > 0)                              .Select(y => y.ToLowerInvariant())                              .ToArray();目的是去除大道后的額外地址詳細信息,csv 文件包含所有 USPS 接受的街道類型。這就是我現(xiàn)在所擁有的//this only returns boolean value, I got this from the SO abovestreetType.Any(testaddress.ToLower().Contains);//I also have thisArray.Exists<string>(streetType, (Predicate<string>)delegate (string s){            return testaddress.IndexOf(s, StringComparison.OrdinalIgnoreCase) > -1;       });我一直在尋找如何解決這個問題的幾個小時,然后我遇到了 SO 問題,這正是我想要的,但我需要獲取子字符串以進行剝離。如果有一個 linq 查詢,那就太棒了。我能想到的唯一方法是使用 foreach 和 inner if。數(shù)組值示例大道大街pkwy更新:這是我的答案,我忘了提到數(shù)組查找需要匹配地址字符串中的確切字符串。我最終使用了正則表達式。這是@giladGreen 的擴展/修改答案。  var result = from item in streetTypes                         let index = Regex.Match(address.ToLowerInvariant(), @"\b" + item.ToLowerInvariant() + @"\b")                         where index.Success == true                         select address.ToLowerInvariant().Substring(0, index.Index + item.Length);有人可以將其轉(zhuǎn)換為 lambda 表達式嗎?我試過我失敗了。謝謝你們
查看完整描述

3 回答

?
慕尼黑的夜晚無繁華

TA貢獻1864條經(jīng)驗 獲得超6個贊

用于IndexOf了解 item 是否存在,address如果存在則返回其后面的字符串:


var result = from item in streetType

             let index = address.IndexOf(item)

             where index != -1

             select address.SubString(0, index);


查看完整回答
反對 回復 2022-01-16
?
慕的地10843

TA貢獻1785條經(jīng)驗 獲得超8個贊

一種方法是簡單地列出列表中Split的每個地址streetType,然后index[0]從結果數(shù)組中獲取第一項(at):

addresses = addresses
    .Select(address => address.Split(streetTypes.ToArray(), StringSplitOptions.None)[0])
    .ToList();


查看完整回答
反對 回復 2022-01-16
?
ABOUTYOU

TA貢獻1812條經(jīng)驗 獲得超5個贊

我可能傾向于做這樣的事情:


string[] markers = "ave avenue pkwy".Split();

string address = "1st nice ave 1st floor";


var result = markers

            .Select((marker, index) => new

            {

                markerIndex = index,

                addressPosition = address.IndexOf(marker)

            })

            .FirstOrDefault(x => x.addressPosition != -1);



// returns { markerIndex = 0, addressPosition = 9 }

Thenresult是一個對象,要么為null(如果未找到標記),要么是包含兩者的對象markerIndex,它告訴您首先找到哪個標記,并addressPosition告訴您找到標記字符串的字符。


查看完整回答
反對 回復 2022-01-16
  • 3 回答
  • 0 關注
  • 168 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號