![](/img/trans.png)
[英]Regular expression to split a string (which contains newline characters) into equal length chunks
[英]Regular expression to split string into equal length chunks
我有一個字符串,它將以以下格式傳遞給我的應用程序:
ece4241692a1c7434da51fc1399ea2fa155d4fc983084ea59d1455afc79fafed
我需要做的是為數據庫格式化它,因此其內容如下:
<ece42416 92a1c743 4da51fc1 399ea2fa 155d4fc9 83084ea5 9d1455af c79fafed>
我認為最簡單的方法是使用正則表達式,但是我以前從未使用過它們,這是我第一次需要這樣做,老實說,我根本沒有時間閱讀此刻對他們的支持,所以如果有人可以幫助我,我將永遠感激不已。
嘗試
Regex.Replace(YOURTEXT, "(.{8})", "$1 ");
關於什么:
string input ="ece4241692a1c7434da51fc1399ea2fa155d4fc983084ea59d1455afc79fafed";
string target = "<" + Regex.Replace(input, "(.{8})", "$1 ").Trim() + ">";
要么
string another = "<" + String.Join(" ", Regex.Split(input, "(.{8})")) + ">";
使用小型靜態字符串解析方法來處理它可能會更好。 一個正則表達式可能會完成它,但是除非您分批處理一堆,否則您將無法節省足夠的系統資源來值得RegEx維護(如果您還不熟悉RegEx,我的意思是說)。 就像是:
private string parseIt(string str)
{
if(str.Length % 8 != 0) throw new Exception("Bad string length");
StringBuilder retVal = new StringBuilder(str)
for (int i = str.Length - 1; i >=0; i=i-8)
{
retVal.Insert(i, " ");
}
return "<" + retVal.ToString() + ">";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.