我有这个字符串
[111]测试队+3½-110
而我的预期是这个
团队:测试团队, 下注:+3½-110
我怎么能在jquery中做到这一点?
TIA
答案 0 :(得分:2)
你不会为此使用jQuery(" json"标签也不合适),你使用标准的JS字符串操作函数(有或没有正则表达式)。
我假设分割字符串的规则是忽略方括号中的任何前导值,然后将+
作为团队名称和+
之后的所有内容。 (包括+
本身)作为赌注。如果有多个+
,则除了最后一个之外的所有内容都将被视为团队名称的一部分。
function formatBet(input) {
return input.replace(/^(\[[^\]]*\] )?(.+)( \+[^+]+)$/,"team: $2, bet:$3");
}
console.log(formatBet("[111] Test Team +3½-110"));
// logs "team: Test Team, bet: +3½-110"
console.log(formatBet("Test Team +3½-110"));
// logs "team: Test Team, bet: +3½-110"
console.log(formatBet("[111] Test + Team +3½-110"));
// logs "team: Test + Team, bet: +3½-110"
console.log(formatBet("[111] Whatever +3½-110"));
// logs "team: Whatever, bet: +3½-110"
在我的正则表达式中:
^(\[[^\]]*\] )?
...可选地匹配字符串开头的[
后跟零个或多个非]
个字符,后跟]
和一个空格。然后:
(.+)
...匹配团队名称 - 任何一个或多个角色。然后:
( \+[^+]+)$
...匹配空格后跟+
,后跟字符串末尾的一个或多个非+
字符。
答案 1 :(得分:0)
var str = '[111] Test Team +3½-110';
str.replace('[111] Test Team','team : Test Team, bet :');