我有一个字符串以这种方式格式化到我的WebApp:
GPL.TU01<50;0;100;0;0>
我不得不这样说:
GPL.TU01
<
50;
0;
100;
0;
0
>
Run Code Online (Sandbox Code Playgroud)
这就是我正在使用的:
var GET_result_formatted = GET_result;
global_file_content = GET_result;
GET_result_formatted = GET_result_formatted.replace("<", "\r<\r");
GET_result_formatted = GET_result_formatted.replace(';', ";\r");
GET_result_formatted = GET_result_formatted.replace(">", "\r>");
$('#ModalGPLTextarea').val(GET_result_formatted);
Run Code Online (Sandbox Code Playgroud)
但令人遗憾的结果是:
GPL.TU01
<
50;
0;100;0;0
>
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
.replace仅在传递字符串时替换第一个匹配项.
使用正则表达式代替;:
GET_result_formatted = GET_result_formatted.replace("<", "\r<\r");
GET_result_formatted = GET_result_formatted.replace(/;/g, ";\r");
GET_result_formatted = GET_result_formatted.replace(">", "\r>");
Run Code Online (Sandbox Code Playgroud)
该g中/;/g是一个"全球性"的标志,这意味着它将替换所有的出现;.
这些行也可以缩短很多,因为.replace可以链接:
var GET_result_formatted = GET_result.replace("<", "\r<\r")
.replace(/;/g, ";\r")
.replace(">", "\r>");
global_file_content = GET_result;
$('#ModalGPLTextarea').val(GET_result_formatted);
Run Code Online (Sandbox Code Playgroud)
注意;前两行末尾的缺失.
| 归档时间: |
|
| 查看次数: |
55 次 |
| 最近记录: |