我有两列,第一列是名称列表,第二列是其评级。我想使用自定义排序,为此我使用了以下内容(找到了here) :
__qualname__
哪个有效,但我的评分实际上是:
有什么方法可以将上述公式与正则表达式结合使用?与此类似:
def was_defined_declarative(cls):
module_name = cls.__module__
module = sys.modules[module_name]
module_code = module.__loader__.get_code(module_name)
cls_methods = set(obj for obj in cls.__dict__.values() if isinstance(obj, types.FunctionType))
cls_meth_strings = [string for method in cls_methods for string in method.__code__.co_consts if isinstance(string, str)]
for candidate_code_obj in module_code.co_consts:
if not isinstance(candidate_code_obj, types.CodeType):
continue
if candidate_code_obj.co_name != cls.__name__:
continue
candidate_meth_strings = [string for method_code in candidate_code_obj.co_consts if isinstance(method_code, types.CodeType) for string in method_code.co_consts if isinstance(string, str)]
if candidate_meth_strings == cls_meth_strings:
return True
return False
实际上什么都没做。查看了Google表格的正则表达式公式,但在这种情况下找不到能解决问题的技巧。
干杯!
PS:一种解决方法是
=sort(A33:B50;match(B33:B50;{"Great";"Good";"OK";"Bad");true)
但是我很好奇是否有一种不太繁琐的方法
答案 0 :(得分:2)
=sort(A1:B7;match(regexextract(B1:B7;"Great|Good|OK|Bad");{"Great";"Good";"OK";"Bad"};0);true)
|
用于在正则表达式中进行OR登录。A1:B7
和B1:B7
更改为您的范围。修改
Good+ Good Good-
,请将正则表达式更改为"Great|Good\+|Good\-|Good|OK|Bad"
,将数组更改为{"Great";"Good+";"Good";"Good-";"OK";"Bad"}
反直观:正则表达式中的顺序为Good + | Good- | Good 并放在数组{“ Great”;“ Good +”;“ Good”;“ Good-”;“ OK”;“ Bomb”}中(正则表达式中的Good已经捕获了Good实例)