是否存在Regex.Replace等效项,可将单词中间的特殊字符(如破折号“-”)更改为“ _”下划线?例如,在此字符串“-将您的组设置到此链”中,我将“您的组”一词更改为“您的组”,但是在字符串的开头有一个破折号“-”,这不是一个单词吗?
我尝试了这个功能Regex.Replace(strIn, @"[^a-zA-Z0-9\s]", "_");
,但是我得到了这个“ _ set your_group to this chain”,它将在开始时转换下划线。
在上面的示例中,我期望这种结果“-将your_group设置到该链”,因为它不影响字符串的开头或不位于字母数字单词中间的任何特殊字符。
这是我下面的示例函数:
static string CleanSpecialCharacters(string strIn)
{
return Regex.Replace(strIn, @"[^a-zA-Z0-9\s]", "_");
}
我该如何解决这个问题?