所以我得到了这段代码:
from dosql import *
import cgi
import simplejson as json
import re
def index(req, userID):
userID = cgi.escape(userID)
get = doSql()
rec = get.execqry("select get_progressrecord('" + userID + "');",False)[0][0]
result = str(rec)
stringed = re.split(',', result)
return json.dumps(stringed)
然后它返回:
但我想排除括号" ("" )"太。我怎么能在正则表达式中放置多个分隔符?
答案 0 :(得分:1)
放一个|他们之间:
stringed = re.split(',|(|)', result)
答案 1 :(得分:1)
使用str.strip
,您可以删除指定的环绕字符:
>>> row = ["(178.00", "65.00", "20.52", "normal", "18", "0.00)"]
>>> [x.strip('(),') for x in row]
['178.00', '65.00', '20.52', 'normal', '18', '0.00']
顺便说一句,如果get.execqry(..)
返回一个元组,则不需要字符串操作。
a_tuple = get.execqry(....)
# or (if you want a list)
a_list = list(get.execqry(....))
答案 2 :(得分:0)
您可以使用这样的简单正则表达式:
[,()]
<强> Working demo 强>
我们的想法是使用正则表达式类[
... ]
匹配您想要的字符。所以,这将匹配逗号或括号。
另一方面,如果您想捕获以下内容:
(250.00", "612.00", "55.55", "normal", "1811", "0.00)
您可以使用以下内容:
([\w.]+)
<强> Working demo 强>