由于URLRewrite模块的限制,我用连字符替换查询字符串值中的所有空格。 服务器端我想将连字符替换回空格,这很好。
但是,如果查询字符串中有一个连字符(在我对值进行编码之前),当我解码查询字符串时,它会删除所有连字符,包括那个应该存在的连字符。
所以我的问题是,如何使用C#中的Regex / Regex实现以下目标....
例1
.................................
查询字符串:“a-search-term”
解码值:“搜索词”
例2
.................................
Querystring:“a-hyphenated --- search”
解码值:“连字符 - 搜索”
此外,我愿意接受如何处理类似......
的建议Querystring:“up-for-discussion” 解码值:“up for -discussion”
非常感谢
答案 0 :(得分:2)
尝试Server.UrlEncode(“搜索词”),无需解码,asp.net会在阅读时获得正确的值
答案 1 :(得分:0)
在这种情况下,请尝试使用escape / unescape函数
http://www.webtoolkit.info/javascript-url-decode-encode.html
答案 2 :(得分:0)
你能做一个简单的字符串替换吗?
这应该适用于您的基本方案,但它不是最佳解决方案:
string newstring = yourstring.Replace("-", " ").Replace(" ", " - ").Replace(" ", " -");