使用LINQ或SQL,我怎么能有以下字符串,通常排序为:
"banana"
apple
coconut
排序为:
apple
"banana"
coconut
答案 0 :(得分:0)
根据您的评论更新
IList<string> sorted = context.Terms.ToList()
.OrderBy(t => Regex.Replace(t.Term, @"\W*","")).ToList();
答案 1 :(得分:0)
在SQL上,您可以对其进行排序,而不需要REGEX
个函数本身,您可以使用PATINDEX
。试试这个:
SELECT *
FROM Table
ORDER BY RIGHT(Column,LEN(Column)-patindex('%[a-zA-Z]%',Column)+1)
这样您就可以使用列的第一个字母对表进行排序,忽略其他字符
答案 2 :(得分:0)
您可以添加一个仅包含字母数字字符串的列,然后对此进行排序。
找到的函数RemoveNonAlphaCharacters here将允许您过滤掉非字母数字字符。如果表非常小并且性能不是问题,那么您可以简单地
ORDER BY RemoveNonAlphaCharacters(columnToClean)