Trong JavaScript, nếu tôi có một khối văn bản như vậy
Line 1
Line 2
Line 3
Tôi cần phải làm gì để nói xóa dòng đầu tiên và biến nó thành:
Line 2
Line 3
Đã hỏi ngày 27 tháng 3 năm 2010 lúc 3:45Mar 27, 2010 at 3:45
Cách làm sạch nhất là sử dụng các chức năng phân chia và tham gia, điều này sẽ cho phép bạn thao tác khối văn bản như một mảng các dòng, như vậy:
// break the textblock into an array of lines
var lines = textblock.split['\n'];
// remove one line, starting at the first position
lines.splice[0,1];
// join the array back into a single string
var newtext = lines.join['\n'];
Đã trả lời ngày 27 tháng 3 năm 2010 lúc 3:54Mar 27, 2010 at 3:54
Câu chuyện Dan StorydanDan Story
9.7491 Huy hiệu vàng22 Huy hiệu bạc27 Huy hiệu đồng1 gold badge22 silver badges27 bronze badges
2
Điều này loại bỏ dòng đầu tiên khỏi biến chuỗi nhiều dòng - được thử nghiệm trong phiên bản Chrome 23 trên một biến được đọc từ tệp [HTML5] với các kết thúc/ngắt dòng hiển thị là CRLF [Nguồn cấp dữ liệu Return+Line] trong Notepad ++:
var lines = `first
second
third`;
// cut the first line:
console.log[ lines.substring[lines.indexOf["\n"] + 1] ];
// cut the last line:
console.log[ lines.substring[lines.lastIndexOf["\n"] + 1, -1 ] ]
Tylerh
21.2K59 Huy hiệu vàng74 Huy hiệu bạc93 Huy hiệu đồng59 gold badges74 silver badges93 bronze badges
Đã trả lời ngày 16 tháng 1 năm 2013 lúc 16:30Jan 16, 2013 at 16:30
KozuchkozuchKozuch
2.1823 huy hiệu vàng24 Huy hiệu bạc38 Huy hiệu đồng3 gold badges24 silver badges38 bronze badges
2
var firstLineRemovedString = aString.replace[/.*/, ""].substr[1];
Đã trả lời ngày 27 tháng 3 năm 2010 lúc 4:48Mar 27, 2010 at 4:48
Eli Greyeli GreyEli Grey
34.5K13 Huy hiệu vàng72 Huy hiệu bạc93 Huy hiệu Đồng13 gold badges72 silver badges93 bronze badges
Tóm lại: Tìm kiếm Return Line Return [\ n] và sử dụng hàm JavaScript
Line 2
Line 3
2 để loại bỏ mọi thứ lên nó [và bao gồm cả nó.]Đây là một regex làm điều đó [đáng ngạc nhiên là khó khăn, ít nhất là đối với tôi ...]
var temp = new String['Line1\nLine2\nLine3\n'];
temp = temp.replace[/[\w\W]+?\n+?/,""];
alert [temp];
Đã trả lời ngày 27 tháng 3 năm 2010 lúc 3:48Mar 27, 2010 at 3:48
LesterdovelesterdoveLesterDove
Phù hiệu vàng 3,0041 Huy hiệu bạc24 Huy hiệu đồng1 gold badge21 silver badges24 bronze badges
3
Bạn có thể làm điều này với Regex bằng cách bao gồm ký tự mới trong tìm kiếm của bạn. Nếu dòng bạn muốn loại bỏ không phải lúc đầu, bạn phải sử dụng cờ Multiline [M].
> var text = "Line 1\nLine 2\nLine 3";
> console.log[text];
Line 1
Line 2
Line 3
> text.replace[/^Line 1\n/m, ""];
Line 2
Line 3
> text.replace[/^Line 2\n/m, ""];
Line 1
Line 3
Đã trả lời ngày 6 tháng 2 năm 2020 lúc 15:48Feb 6, 2020 at 15:48
Ellis Percivalellis PercivalEllis Percival
4.3241 Huy hiệu vàng22 Huy hiệu bạc34 Huy hiệu đồng1 gold badge22 silver badges34 bronze badges
Hãy thử tận dụng các lớp JavaScript.
Line 2
Line 3
3 - Chia chuỗi được xác định trong hàm tạo thành mảng các dòng và phương thức real_array vòng qua mảng và đảm bảo không có thành viên trống trong mảngconstructor[string]{
this.string = string;
this.value = string;
}
object[]{
return this.real_array[this.value.split['\n']];
}
// returns ['Line 1','Line 2','Line 3']
Line 2
Line 3
4 - Thu thập chuỗi bạn định xóa bằng cách xóa thành viên của mảng bằng Line 2
Line 3
5remove[string_to_be_removed]{
var _object = this.object[];
_object.forEach[[value,index] => {
if [value.trim[]===string_to_be_removed]{
delete _object[index];
}
}];
this.value = this.real_array[_object].join['\n'];
return this;
}
/*
new line[`Line 1
Line 2
Line 3`].remove['Line 1'].value //returns
Line 2
Line 3
*/
Mã đầy đủ:
// Your code here!
class line{
constructor[string]{
this.string = string;
this.value = string;
}
object[]{
return this.real_array[this.value.split['\n']];
}
remove[string_to_be_removed]{
var _object = this.object[];
_object.forEach[[value,index] => {
if [value.trim[]===string_to_be_removed]{
delete _object[index];
}
}];
this.value = this.real_array[_object].join['\n'];
return this;
}
removeAll[string_to_be_removed]{
var _object = this.object[];
_object.forEach[[value,index] => {
if [value.trim[].indexOf[string_to_be_removed]!=-1]{
delete _object[index];
}
}];
this.value = this.real_array[_object].join['\n'];
return this;
}
fetch[line_number]{
var _object = this.object[];
for [let i=0;i{
if [element.trim[].length>0]{
output.push[element];
}
}];
return output;
}
}
var string = `1
2
3
Remove this
5
3
3
Remove this all
4
6
Remove this all and this
`
var line_string = new line[string]
console.log["Fetch with line number"]
console.log[line_string.fetch[3]]
console.log["-------------------"]
console.log["Remove line by the string content on the line"]
console.log[line_string.remove['Remove this'].value];
console.log["------------"]
console.log["Remove all occurrence of line by the string content on the lines"]
console.log[line_string.removeAll['Remove this'].value];
console.log["-------------------"]
console.log["Edit line"]
console.log[line_string.edit["I edited it",2].edit["I also edit this",5].value];
Tylerh
21.2K59 Huy hiệu vàng74 Huy hiệu bạc93 Huy hiệu đồng59 gold badges74 silver badges93 bronze badges
Đã trả lời ngày 16 tháng 1 năm 2013 lúc 16:30Jul 9, 2020 at 22:53
0
Kozuchkozuch
2.1823 huy hiệu vàng24 Huy hiệu bạc38 Huy hiệu đồng
Line 2
Line 3
0Đã trả lời ngày 27 tháng 3 năm 2010 lúc 4:48Jun 29, 2018 at 23:55
Eli Greyeli Grey
34.5K13 Huy hiệu vàng72 Huy hiệu bạc93 Huy hiệu Đồng
Line 2
Line 3
1Tóm lại: Tìm kiếm Return Line Return [\ n] và sử dụng hàm JavaScript
Line 2
Line 3
2 để loại bỏ mọi thứ lên nó [và bao gồm cả nó.]Dec 29, 2020 at 9:45
Đây là một regex làm điều đó [đáng ngạc nhiên là khó khăn, ít nhất là đối với tôi ...]Kamil Kiełczewski
Đã trả lời ngày 27 tháng 3 năm 2010 lúc 3:4826 gold badges337 silver badges315 bronze badges