JavaScript - 从位置到行尾/返回字符

时间:2016-04-27 20:18:22

标签: javascript substr

我有一个字符串,它被压缩成一行,带有一个(返回?)字符,但应该是这样的:

Service Type: Registration Coordinator

Authorized Amount: $4
Authorized Mileage: $1.25

我想获得注册协调员'或者直到行尾的任何东西,所以我试了一下:

var service_type = t_var.description.substr(t_var.description.indexOf('Service Type: ') +14,t_var.description.indexOf('\n'));

但它返回:

Registration Coordinator

Authorized A

以下是在发布到数据库之前创建原始字符串的方式,我在尝试使用它从数据库读回之后尝试使用它:

var fullDescription = "Service Type: " + that.current_wo_data.service_partner.skill + "\n\n";
fullDescription += '\nAuthorized Amount: $' + that.$('#authorized_amount').val();
fullDescription += '\nAuthorized Mileage: $' + that.$('#authorized_mileage').val();

由于

1 个答案:

答案 0 :(得分:0)

substrsubstring之间存在差异(不要问我原因)

.substr(start_pos, number_of_chars);
"abcdef".substr(2, 3) returns "cde"
.substring(start_pos, end_pos);
"abcdef".substr(2, 3) returns "c"

您正在使用start_posend_pos功能substr。那是在惹麻烦;)

var service_type = t_var.description.substr(t_var.description.indexOf('Service Type: ') +14,t_var.description.indexOf('\n'));

应该是

var service_type = t_var.description.substring(t_var.description.indexOf('Service Type: ') +14,t_var.description.indexOf('\n'));