Tôi đã có một data-123
chuỗi.
Làm thế nào tôi có thể loại bỏ data-
khỏi chuỗi trong khi rời khỏi 123
?
Tôi đã có một data-123
chuỗi.
Làm thế nào tôi có thể loại bỏ data-
khỏi chuỗi trong khi rời khỏi 123
?
Câu trả lời:
var ret = "data-123".replace('data-','');
console.log(ret); //prints: 123
Đối với tất cả các lần xuất hiện được loại bỏ sử dụng:
var ret = "data-123".replace(/data-/g,'');
PS: Hàm thay thế trả về một chuỗi mới và giữ nguyên chuỗi gốc, vì vậy hãy sử dụng giá trị trả về của hàm sau lệnh gọi thay thế ().
Điều này không có gì để làm với jQuery. Bạn có thể sử dụng replace
chức năng JavaScript cho việc này:
var str = "data-123";
str = str.replace("data-", "");
Bạn cũng có thể truyền regex cho hàm này. Trong ví dụ sau, nó sẽ thay thế mọi thứ trừ số:
str = str.replace(/[^0-9\.]+/g, "");
0-9
được chỉ định.
Bạn có thể sử dụng "data-123".replace('data-','');
, như đã đề cập, nhưng replace()
chỉ thay thế phiên bản FIRST của văn bản phù hợp, nếu chuỗi của bạn giống như "data-123data-"
sau đó
"data-123data-".replace('data-','');
sẽ chỉ thay thế văn bản phù hợp đầu tiên. Và đầu ra của bạn sẽ là"123data-"
Vì vậy, nếu bạn muốn thay thế tất cả các kết quả khớp của văn bản trong chuỗi, bạn phải sử dụng biểu thức chính quy với g
cờ như thế:
"data-123data-".replace(/data-/g,'');
Và đầu ra của bạn sẽ là "123"
bạn có thể sử dụng lát () nó giữ lại các ký tự từ đầu đến cuối (bao gồm điểm cuối)
string.slice(start , end);
Đây là một số exmp để hiển thị cách nó hoạt động:
var mystr = ("data-123").slice(5); // jast define start point so output is "123"
var mystr = ("data-123").slice(5,7); // define start and end so output is "12"
var mystr=(",246").slice(1); // returens "246"
JavaScript cũ đơn giản sẽ đủ - jQuery không cần thiết cho một tác vụ đơn giản như vậy:
var myString = "data-123";
var myNewString = myString.replace("data-", "");
Xem: .replace()
tài liệu trên MDN để biết thêm thông tin và sử dụng.
Ví dụ:-
var value="Data-123";
var removeData=value.replace("Data-","");
alert(removeData);
Hy vọng điều này sẽ làm việc cho bạn.
Tôi đã quen với phương thức String.Remove của C # (Sharp). Trong Javascript, không có chức năng loại bỏ cho chuỗi, nhưng có chức năng cơ sở. Bạn có thể sử dụng hàm đế một hoặc hai lần để xóa các ký tự khỏi chuỗi. Bạn có thể thực hiện chức năng sau để xóa các ký tự ở chỉ mục bắt đầu đến cuối chuỗi, giống như phương thức c # đầu tiên quá tải String.Remove (int start Index):
function Remove(str, startIndex) {
return str.substr(0, startIndex);
}
và / hoặc bạn cũng có thể tạo hàm sau để xóa các ký tự ở chỉ mục bắt đầu và đếm, giống như phương thức thứ hai của phương thức c # String.Remove (int start Index, int Count):
function Remove(str, startIndex, count) {
return str.substr(0, startIndex) + str.substr(startIndex + count);
}
và sau đó bạn có thể sử dụng hai chức năng này hoặc một trong số chúng cho nhu cầu của bạn!
Thí dụ:
alert(Remove("data-123", 0, 5));
Đầu ra: 123
Chức năng nhỏ này tôi đã thực hiện luôn luôn làm việc cho tôi :)
String.prototype.deleteWord = function (searchTerm) {
var str = this;
var n = str.search(searchTerm);
while (str.search(searchTerm) > -1) {
n = str.search(searchTerm);
str = str.substring(0, n) + str.substring(n + searchTerm.length, str.length);
}
return str;
}
// Use it like this:
var string = "text is the the cool!!";
string.deleteWord('the'); // Returns text is cool!!
Tôi biết nó không phải là tốt nhất, nhưng nó luôn làm việc cho tôi :)
Sử dụng match()
và Number()
trả về một number
biến:
Number(("data-123").match(/\d+$/));
// strNum = 123
Đây là những gì tuyên bố ở trên ... làm việc giữa chừng:
str.match(/\d+$/)
- trả về một mảng chứa các kết quả khớp với bất kỳ độ dài nào của số ở cuối str
. Trong trường hợp này, nó trả về một mảng chứa một mục chuỗi ['123']
.Number()
- chuyển đổi nó thành một loại số. Bởi vì mảng được trả về từ .match()
chứa một phần tử Number()
sẽ trả về số.