输出应显示为LUNG
,KIDNEY
,SKELETON>J169>U
和E
,CREATININE:no
而不是>LUNG,KIDNEY,SKELETON>J169>U and E
,{{1} }
如何使用javascript实现这一目标?我,e">"是需要删除每行中的第一个字符。
我已经使用了字符串替换和字符串charAt函数来删除每行中的第一个charahter,但是为我做了锻炼。 如果我在编码的某个地方出错了,请纠正我? 以下代码段有助于更恰当地理解问题!
提前谢谢
CREATININE:no
答案 0 :(得分:1)
使用map
,substring
和join
function change() {
var lines = $('#te1').val().split("\n");
$("#te1").val(lines.map ( s => s.substring(1) ).join("\n"));
}
<强>演示强>
function change() {
var lines = $('#te1').val().split("\n");
console.log(lines);
$("#te1").val(lines.map ( s => s.substring(1) ).join("\n"));
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea id="te1" cols="100" rows="5">
>LUNG,KIDNEY,SKELETON>J169>U and E, CREATININE:no
>LUNG,KIDNEY,SKELETON>G121:yes
</textarea>
<button id="b1" onclick="change()">Remove</button>
&#13;
答案 1 :(得分:0)
您可以将Array#map
与String#substr
和Array#join
结合使用:
$('#te1').val($('#te1').val().split("\n").map(str => str.length && str.charAt(0) == '>' ? str.substr(1) : str).join('\n'));
以下是解释:
$('#te1').val( //Assign to your textarea what's coming next
$('#te1').val() //Get what's inside your textarea
.split("\n") //Split it to every newline
.map(str => //Go through your array
str.length && str.charAt(0) == '>' ? //If the String isn't empty and it has a > at its beginning
str.substr(1) //Removes the first char
: str // Else keep the String as is
)
.join('\n') //Rejoin your array with newlines
);
演示:
function change() {
$('#te1').val($('#te1').val().split("\n").map(str => str.length && str.charAt(0) == '>' ? str.substr(1) : str).join('\n'));
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea id="te1" cols="100" rows="5">
>LUNG,KIDNEY,SKELETON>J169>U and E, CREATININE:no
>LUNG,KIDNEY,SKELETON>G121:yes
</textarea>
<button id="b1" onclick="change()">Remove</button>
答案 2 :(得分:0)
使用String.prototype.substr
,您可以删除每行的第一个字符,然后将其合并。
function change() {
const $tel = $("#te1");
const lines = $tel.val().split("\n");
$tel.val(lines.map((line) => line.substr(1)).join('\n'));
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea id="te1" cols="100" rows="5">
>LUNG,KIDNEY,SKELETON>J169>U and E, CREATININE:no
>LUNG,KIDNEY,SKELETON>G121:yes
</textarea>
<button id="b1" onclick="change()">Remove</button>
答案 3 :(得分:0)
由于大多数答案都基于循环,因此以下是使用正则表达式的方法:
let solution = { _id: 'aa0', paymentFrequency: 'MONTHLY', ....};
let spy = sandbox.stub(controller, 'open').withArgs(solution);
替换字符串。
Group2
function change() {
var lines = $('#te1').val();
var regex = /([^\n])([^\n]+\n?)/g;
$('#te1').val(lines.replace(regex, "$2"));
}
答案 4 :(得分:0)
您可以使用multiline flag使^
与RegExp中一行的开头匹配。
function change(){
$('#te1').val((index, value) => value.replace(/^[^\n]/gm, ""));
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea id="te1" cols="100" rows="5">
>LUNG,KIDNEY,SKELETON>J169>U and E, CREATININE:no
>LUNG,KIDNEY,SKELETON>G121:yes
</textarea>
<button id = "b1" onclick="change()">Remove</button>