本文整理汇总了C#中System.Text.RegularExpressions.Regex.RemoveDuplicates方法的典型用法代码示例。如果您正苦于以下问题:C# Regex.RemoveDuplicates方法的具体用法?C# Regex.RemoveDuplicates怎么用?C# Regex.RemoveDuplicates使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Text.RegularExpressions.Regex
的用法示例。
在下文中一共展示了Regex.RemoveDuplicates方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetCleanID
private static string GetCleanID(string path, int limit,
bool replaceDot = false,
bool removeDot = false,
bool replaceDirectorySeparatorChar = false,
bool removeDirectorySeparatorChar = false,
bool replaceSpaces = false,
bool removeSpaces = false,
bool removeUnderscores = false)
{
if (replaceDot)
path = path.Replace('.', '_');
if (removeDot)
path = path.Replace(".", "");
if (replaceDirectorySeparatorChar)
path = path.Replace(Path.DirectorySeparatorChar, '_');
if (removeDirectorySeparatorChar)
path = path.Replace(Path.DirectorySeparatorChar.ToString(), "");
if (replaceSpaces)
path = path.ReplaceWhiteSpace('_');
if (removeSpaces || !replaceSpaces)
path = path.RemoveWhiteSpace();
path = new Regex("[^a-zA-Z0-9_.]").Replace(path, "_");
path = path.RemoveDuplicates("_").TrimEnd('_').TrimStart('_');
if (removeUnderscores)
path = path.Replace("_", "");
if (path.Length > limit)
{
byte[] nameBytes = Encoding.Default.GetBytes(path);
uint crc = nameBytes.Crc32Checksum(0, nameBytes.Length);
string suffix = crc.ToString();
path = path.Substring(0, limit - suffix.Length) + suffix;
}
return path;
}