廢話不多說,直接進入正題:
問題是:是這樣的字串,"dfsdg<2434>,dgdfg<35346>,dtr35<3w543>",提取"<"和">"裡面的內容?
對於這樣問題首先我們思路應該就是先把她們分組出來,然後再去判斷這對角括弧的位置,找到後,截取出來就 可以了。於是我分別用之前提出來的兩種方式 來實現,如下:
1、原始字串截取方式,範例程式碼如下:
複製代碼 代碼如下: string str="dfsdg<2434>,dgdfg<35346>,dtr35<3w543>";
string[] strGroup=str.Split(',');
foreach(var s in strGroup)
{
int left=s.IndexOf('<');
int right=s.LastIndexOf('>');
s.Substring(left+1,right-left-1);
Console.WriteLine(s);
}
運行結果如下:
2434
35346
3w543
2、應用Language-integrated Query (LINQ)(LINQ),範例程式碼如下: 複製代碼 代碼如下: string str="dfsdg<2434>,dgdfg<35346>,dtr35<3w543>";
var result=from s in str.Split(',')
let left=s.IndexOf('<')
let right=s.LastIndexOf('>')
select s.Substring(left+1,right-left-1);
result.Dump();
運行結果如下:
第二種調試的工具是採用LINQPad來調試的。對於第二種裡面的let關鍵字,協助文檔的解釋如下:
let 關鍵字可以建立一個新的範圍變數,並且用您提供的運算式的結果初始化該變數。一旦用值初始化了該範圍變數,它就不能用於儲存其他值。但如果該範圍變數儲存的是可查詢的類型,則可以對其進行查詢。
好了,對於這個問題我就總結到這裡了,希望對他人有協助,也歡迎大家有更好的方法和思路來解決這個問題的,歡迎大家留言,本人將感激不盡!