我是新來的,我的英語不會是你今天讀到的最好的。我剛剛從 DLL 中匯入了“密鑰”串列
(#8yg54w-#95jz#e-##9ixop-#7ps-#ny#9qv-# pzbk5-#bp669x-#bp6696-#bp6696-#bp6696-#bp6696-#bp6696-#fbhstu-#ehddtk-# ###9py),
我們將這樣命名它,它是一個簡單的字串。我需要在每個 # 之后選擇組成此字串的“鍵”,但它必須動態完成,而不是像您在 ArrayList [0,1,2 ...] 中選擇的那樣。最終結果應該看起來像 8yg54w,在你得到這個之后它是一個回圈,你得到下一個,這意味著 95jz#e。第一個“#”是每個鍵的分隔符。我想知道如何在第一個分隔符之后繼續獲取每個鍵。我會嘗試回答您的問題,因為我認為會有一些問題,這可能解釋得不好,我提前道歉!謝謝
uj5u.com熱心網友回復:
您的解決方案可能是一個回傳IEnumerable<string>. 您可以通過拆分字串并使用yield關鍵字回傳迭代器來完成此操作。例如
// Define the splitting function
public IEnumerable<string> GetKeys(string source) {
var splitted = source.Split("-#");
foreach (var key in splitted)
yield return key;
}
// Use it in your code
var myKeys = GetKeys("#8yg54w-#95jz#e-##9ixop-#7ps-#ny#9qv-# pzbk5-#bp669x-#bp6696-#bp6696-#bp6696-#bp6696-#bp6696-#fbhstu-#ehddtk-####9py");
foreach(var k in myKeys) {
// This will print your keys in the console one per line.
Console.WriteLine(k);
}
您可以使用這種方法,但如果您需要將它作為唯一的全球密鑰生成器,我建議更好地隱藏獲取下一個密鑰的邏輯。使用只有一個GetNextKey()方法的靜態類可以是上面代碼的組合......
uj5u.com熱心網友回復:
這應該回傳一個鍵陣列。
string.Split("-#");
當您只需要字串時:
string x = "(#8yg54w-#95jz#e-##9ixop-#7ps-#ny#9qv-# pzbk5-#bp669x-#bp6696-#bp6696-#bp6696-#bp6696-#bp6696-#fbhstu-#ehddtk-####9py)";
Console.WriteLine(string.Join("-", x.Split("-#")));
uj5u.com熱心網友回復:
您可以使用正則運算式。
string input = "(#8yg54w-#95jz#e-##9ixop-#7ps-#ny#9qv-# pzbk5-#bp669x-#bp6696-#bp6696-#bp6696-#bp6696-#bp6696-#fbhstu-#ehddtk-####9py)";
MatchCollection matches = Regex.Matches(input, @"(?<=\#)[A-Za-z1-9#] (?=-)");
foreach (Match match in matches) {
Console.WriteLine(match.Value);
}
輸出:
8yg54w
95jz#e
#9ixop
7ps
ny#9qv
bp669x
bp6696
bp6696
bp6696
bp6696
bp6696
fbhstu
ehddtk
正則運算式的解釋(?<=\#)[A-Za-z1-9#] (?=-)
- 一般形式
(?<=prefix)find(?=suffix)找到a和 afind之間的模式。prefixsuffix (?<=\#)前綴#(用 轉義\)。[A-Za-z1-9#]要匹配的字符集(大小寫字母 數字 #)。量詞:至少一個字符。(?=-)后綴-。
我不確定是否)是字串的一部分。###9py如果字串包含)使用右大括號轉義的位置,則(?<=\#)[A-Za-z1-9#] (?=-|\))獲取最后一個鍵。\)如果)在其中,則使用(?<=\#)[A-Za-z1-9#] (?=-|$)where$是字串的結尾。|表示或。即,后綴要么是'-' OR,)要么是-OR $(行尾)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/443799.html
上一篇:查找字串中一行的最后一個字符
下一篇:如何在一個字串中讀取兩個單詞
