我是postrges的新手,想要对varchar类型列进行排序.想用下面的例子来解释这个问题:
表名:testsorting
order name
1 b
2 B
3 a
4 a1
5 a11
6 a2
7 a20
8 A
9 a19
Run Code Online (Sandbox Code Playgroud)
区分大小写的排序(在postgres中是默认的)给出:
select name from testsorting order by name;
A
B
a
a1
a11
a19
a2
a20
b
Run Code Online (Sandbox Code Playgroud)
案例敏感排序给出:
通过UPPER(名称)从测试排序中选择名称;
A
a
a1
a11
a19
a2
a20
B
b
Run Code Online (Sandbox Code Playgroud)
如何在postgres中进行字母数字大小写的敏感排序以获得以下顺序:
a
A
a1
a2
a11
a19
a20
b
B
Run Code Online (Sandbox Code Playgroud)
我不介意资本或小写字母的订单,但订单应该是"aAbB"或"AaBb",不应该是"ABab"
如果您在postgres中有任何解决方案,请建议.
我的目标是以下所有URI都应该有效
https://开头休息/ XYZ?sort = name
https://开头休息/ XYZ?排序 =名称
https://开头休息/ XYZ?filter = name = value
https://开头休息/ XYZ?Filter = name = value
为此,我创建了自定义过滤器来覆盖传递给FilterChain的HttpServletRequest.以下是此方法的链接:
http://forum.springsource.org/archive/index.php/t-87433.html
我的代码:
import java.io.IOException;
import java.util.Map;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
public class HttpCustomParamFilter implements Filter
{
private static class HttpServletRequestCustomeWrapper extends HttpServletRequestWrapper
{
private String[] parameterValues;
@Override
public String[] getParameterValues(String name)
{
Map<String, String[]> localParameterMap = super.getParameterMap();
// Handle case insensitivity of http …Run Code Online (Sandbox Code Playgroud) 我正在学习python并在字符串上工作,以便使用字典找到更好的字符串替换方法
我有一个字符串,其中包含我的自定义占位符,如下所示:
placeholder_prefix = '$['
placeholder_suffix = ']'
dict={'key1':'string','key2':placeholders}
msg='This $[key1] contains custom $[key2]'
Run Code Online (Sandbox Code Playgroud)
我希望占位符('prefix-suffix'和'keys')应该被字典中的'value'替换,如下所示:
' 此字符串包含自定义占位符'
我可以通过编写函数获取消息:'This [string]包含自定义[placeholders]':
def replace_all(text):
for key, value in brand_dictionary.iteritems():
text = text.replace(key, value).replace('$[', '[')
return text
Run Code Online (Sandbox Code Playgroud)
我可以尝试使用不同的替换来删除'$ ['和']',但这可以替换作为消息本身的一部分包含的任何字符(如'$','[',']')(不作为占位符的一部分).所以我想避免这种情况,只替换自定义占位符.
我可以想到正则表达式(对于占位符),但由于我的消息包含多个键,所以它似乎没有用处?
有没有更好的方法在python中做到这一点?