我想知道如何将虚线插入字符串中的各个点? 我有一个长度为32个字符的字符串 我需要在各个地方破折号 8-4-4-4-12
8个字符 - 4个字符......依此类推,直到字符串完成。
我尝试了REGEX,但只能定期添加破折号
string newString = Regex.Replace(currentEPC, ".{6}", "$0-");
我正在尝试将字符串解析为Guid,但我的字符串不包含破折号,需要将其转换为Guid。
答案 0 :(得分:3)
我正在尝试将字符串解析为Guid,但我的字符串不包含破折号,需要将其转换为Guid。
不,它没有:
Guid g = Guid.Parse("084c1bfd133d403384e1c02113b52f8c");
这将为您解析GUID。如果你想用带破折号的字符串表示:
string s = g.ToString();
答案 1 :(得分:2)
正如Patrick所示,您不需要插入破折号来将字符串解析为Guid
。
但是,如果你需要这种方法,你可以使用:
public static string InsertStrings(string text, string insertString, params int[] rangeLengths)
{
var sb = new StringBuilder(text);
var indexes = new int[rangeLengths.Length];
for (int i = 0; i < indexes.Length; i++)
indexes[i] = rangeLengths[i] + indexes.ElementAtOrDefault(i-1) + insertString.Length;
for (int i = 0; i < indexes.Length; i++)
{
if(indexes[i] < sb.Length)
sb.Insert(indexes[i], insertString);
}
return sb.ToString();
}
用法:
string guidString = "36b1dbc650c6407098247f87790144ff";
guidString = InsertStrings(guidString, "-", 8, 4, 4, 4, 12);