簡體   English   中英

發送不需要的字符到數組末尾

[英]Send unwanted Char's to end of array

假設我們有一個字符串

String data = "<span> 0397]);}}:;)]</span>";

然后我們將其發送到一個char數組中

Char[] charData = data.ToCharArray();

我該如何處理這些數據,並將所有不需要的數據替換到數組的末尾,但是將所有數據從當前char移到剩下的一個,以便為多余的數據留出空間。

Char[] sendToEnd = { ';', ')', '}', ']' };

我嘗試了一個循環,但是當循環遍歷已交換的數據時會導致無限循環。

最后,字符串數據應為

"<span> 0397</span>]);}}:;)]"
var str = new String(data.Where(c => !sendToEnd.Contains(c))
                         .Concat(data.Where(c => sendToEnd.Contains(c)))
                         .ToArray());

還聲明sendToEnd

var sendToEnd = new HashSet<char>(new char[] { ';', ')', '}', ']' });

可以提供更好的表現

與其將字符最初移動到末尾,不如將它們移動到另一個數組並將這些數組連接起來以形成最終的字符串。

暫無
暫無

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

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