所以,我的问题很简单。我有一个字符串,我想用它来做骨灰圈。简单,对吗?棘手的部分是,但是,我想用一种定制的方法来编码它。你看,我的语言充满了 ——,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 你明白我的意思。
这么说吧,我有这样一条绳子:
Čečenský bojovník sa pobil v košickej väzbe
如果我使用 HttpUlity. EncodUrl, 我就会得到这个字符串 :
%c4%8ce%c4%8densk%c3%bd+bojovn%c3%adk+sa+pobil+v+ko%c5%a1ickej+v%c3%a4zbe
不过,我所希望的绳子看起来是这样的(试图尽可能有方便用户的):
cecensky-bojovnik-sa-pobil-v-kosickej-vazbe
使用 EncodeUrl 函数不是一个选项。 因此, 我给自己写了一个函数, 要对字符串进行多次操作, 完全按照我的要求做 。
public static string EncodeForUrl(this string s)
{
string temp = s.StripDiacritics(); // one custom function
temp = temp.ToLower();
temp = temp.Trim();
temp = temp.Replace(" ", "-");
return temp;
}
我认为,这很明显地说明了发生了什么事情,而且效果很好。嗯,除了一个字符串是不可改变的,所以有很多不必要的内存分配在进行中。
所以最后我问了一下我的问题, 是否有一些建议, 更有效率的方法, 这样做?