我有这个字符串
[111] 测试团队 +3½-110
我的预期是这个
团队:测试团队,投注:+3½-110
我怎么能在jquery中做到这一点?
TIA
我有这个字符串
[111] 测试团队 +3½-110
我的预期是这个
团队:测试团队,投注:+3½-110
我怎么能在jquery中做到这一点?
TIA
你不会为此使用 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"
演示:http: //jsfiddle.net/LKJjw/
在我的正则表达式中:
^(\[[^\]]*\] )?
...可选地匹配字符串 a 的开头,[
后跟零个或多个非]
字符,后跟]
一个空格。然后:
(.+)
...匹配团队名称 - 一个或多个任意字符。然后:
( \+[^+]+)$
...匹配一个空格,后跟 a +
,后跟+
字符串末尾的一个或多个非字符。
var str = '[111] Test Team +3½-110';
str.replace('[111] Test Team','team : Test Team, bet :');