我需要删除javascript中每一行的字符串"|“的第一个字符。
| D| Gbm| G| A|
| D| Gbm| G| A|
| Bm| Gbm| G| D|
| Bm| Gbm| G| A|
| D| Gbm| G| A|
| D| Gbm| G| A|
| Bm| Gbm| G| D|
| Bm| E| G| G A|
| D| Gbm|需要的最终结果:
D| Gbm| G| A|
D| Gbm| G| A|
Bm| Gbm| G| D|
Bm| Gbm| G| A|
D| Gbm| G| A|
D| Gbm| G| A|
Bm| Gbm| G| D|
Bm| E| G| G A|
D| Gbm|这是我需要编辑的页面,以获得和弦。我删除了引号
tOut = tOut.replace("\"", "");http://www.lesession.co.uk/abc/abcChordsOut.htm这是以ABC表示法格式输入的文本:
X:1
T:Guitar
L:1/8
K:D
Q:1/4=120
R:Medium Boogie
M:4/4
| "D"D,2 A,,D, D,2 [C,A,,]_B,,/2=B,,/2 | "Gbm"_G,,3 _G,,/2E,,/2 _G,,2 _D,/2=D,/2_E,/2=E,/2 | "G"G,3 G, G,3 =G,, | "A"A,,3 A,, A,,2 B,,2 |
| "D"A,,3 =D,/2A,,/2 D,2 F,G, | "Gbm"_G,,3 _G,,/2E,,/2 _G,,2 _D,_G,, | "G"=G,,3 G,,/2E,,/2 G,,2 B,,=D, | "A"A,2 G,A, A,E, A,,2 |
| "Bm"B,,2 =C,B,,/2A,,/2 B,,2 A,,2 | "Gbm"_G,3 _G,/2=F,/2 _G,2 _D,2 | "G"=G,3 =D, G,2 A,2 | "D"[D3^G,3] D D2 B,/2C/2A,/2^C,/2=C,/2 |
| "Bm"B,,3 B,,/2A,,/2 B,,3 F,,/2E,,/2 | "Gbm"_G,,3 _G,, E,,/2_G,,3/2 A,,_D, | "G"=G,,3 G,,/2E,,/2 G,,2 B,,/2G,,/2_B,,/2^G,,/2 | "A"A,,3 A,, A,,A,,=B,,C, |
| "D"D,3 D,/2A,,/2 D,2 A,2 | "Gbm"_G,,3 _G,,/2=F,,/2 _G,,3 E,, | "G"=G,,3 G,,/2E,,/2 G,,2 B,,3/2=C,/2 | "A"A,,4 z4 |
| "D" z3/2 B,,/2 ^C,D, A,,/2D,3/2- D,3/2A,/2 | "Gbm"_G,,3 _G,, E,,/2_G,,3/2 A,,_D, | "G"=G,,3 G,,/2E,,/2 G,,2 _B,,=D, | "A"A,,3 A,, A,,2 E,,2 |
| "Bm"B,2 B,2 [B,3D,3] F, | "Gbm"_G,,3 _G,,/2E,,/2 _G,,2 _D,_G,, | "G"=G,,3 G,,/2E,,/2 G,,2 =B,,[=D,A,,-- ] | "D"[D,3A,,3] D, z4 |
| "Bm" z4 z2 z F,/2=F,/2 | "E"E,,3 E,, E,,2 B,,E,,/2G,,/2- | "G"G,,2- G,,/2G,,E,,/2 G,,3/2B,,/2- B,,2 | "G"_A,/2G,3/2 B,G, "A"=A,2 A,,2 |
| "D" z8 | "Gbm" z8 |格式化后,将其粘贴到Java应用程序Impro中以提供和弦。
发布于 2020-06-01 08:09:02
使用全局(g)、多行(m) RegExp匹配行首(\|)处的任何管道(^)
// here's your original string
let tOut = `| D| Gbm| G| A|
| D| Gbm| G| A|
| Bm| Gbm| G| D|
| Bm| Gbm| G| A|
| D| Gbm| G| A|
| D| Gbm| G| A|
| Bm| Gbm| G| D|
| Bm| E| G| G A|
| D| Gbm|`
// replace the pipes
tOut = tOut.replace(/^\| ?/mg, '')
console.log(tOut)
// document.write(tOut)
上面的代码还删除了管道后面的空格(如果存在)。如果希望保留空间,请将正则表达式更改为/^\|/mg。
发布于 2020-06-01 08:02:31
可以在换行符(\n)上对多行字符串执行split操作,使用map删除每行中的第一个字符,在换行符上使用join将数组转换回字符串。无论每行以什么字符开头,都可以使用此方法。
const str = `| D| Gbm| G| A|
| D| Gbm| G| A|
| Bm| Gbm| G| D|
| Bm| Gbm| G| A|
| D| Gbm| G| A|
| D| Gbm| G| A|
| Bm| Gbm| G| D|
| Bm| E| G| G A|
| D| Gbm|`;
const res = str.split("\n").map(s=>s.slice(1)).join("\n");
console.log(res);
发布于 2020-06-02 10:57:58
这是已更改的代码,请防止换行符,删除“:|”,并将"||“替换为"|"br"”
tOut += "" //"<br>"
tOut = tOut.split(":::|").join("");
tOut = tOut.split("||").join("|<br>");
document.write(tOut)https://stackoverflow.com/questions/62123864
复制相似问题