Làm thế nào để chuỗi con trong jquery


115

Làm cách nào tôi có thể sử dụng jquery ở phía máy khách để chuỗi con "nameGorge" và xóa "name" để nó chỉ xuất ra "Gorge"?

var name = "nameGorge"; //output Gorge

15
jQuery là một thư viện được viết bằng JavaScript. Nó được sử dụng trên JavaScript. Những gì bạn đang hỏi có thể được thực hiện bằng JavaScript mà không cần sử dụng thư viện jQuery.
Jeff

1
jQuery IS JavaScript (chính xác là một thư viện JavaScript, nhưng JavaScript). Điều đó đã được nói, tôi không nghĩ việc sử dụng jQuery để có được một chuỗi con có thể được viết dễ dàng hơn so với JavaScript đơn giản.
VoidKing

Câu trả lời:


235

Không cần jQuery! Chỉ cần sử dụng phương thức chuỗi con:

var gorge = name.substring(4);

Hoặc nếu văn bản bạn muốn xóa không tĩnh:

var name = 'nameGorge';
var toRemove = 'name';
var gorge = name.replace(toRemove,'');

5
Xin lỗi, tôi không mong đợi điều này sẽ nổ tung quá mạnh sau khi tôi đi ngủ. Tôi đã dọn dẹp mọi thứ ở đây một chút. Trong khi đó, ai đó cần đọc
BoltClock

Này BoltClock: Bạn thế nào? Tôi đã cố gắng chứng minh một điểm ở đây, cảm ơn rất nhiều .. vì vậy điều đó có nghĩa là nếu tôi đang cố gắng sửa đổi mã cho khách hàng, và tôi đến đây để tìm câu trả lời, và câu trả lời được đánh dấu của op là thỏa đáng với anh ta. . sau đó tôi không thể đơn giản đăng cùng một câu hỏi cũng như đưa ra một ví dụ về vấn đề của mình .. rất thú vị .. vì vậy câu hỏi của tôi giống như những người này chắc chắn đến mức nào nếu tôi đang chạy một hàm jQuery và bên trong tôi sử dụng .split tham chiếu đến cách JS gốc hoặc một số loại đường hầm hoặc proxy để kích hoạt điều đó thông qua jQuery. Ngoài ra nếu bạn đọc câu hỏi.
Jean Paul AKA kéo dài

Quan điểm của tôi là với tôi đang làm việc trong không gian tên jQuery, tôi thực sự không quan tâm lắm nếu trường hợp đó là gọi trực tiếp chuỗi.split từ JS, nhưng thay vào đó từ cộng đồng tôi đã hiểu rằng nếu tôi đăng câu hỏi chính xác đó, nó sẽ được đánh dấu là bị thu hẹp, vì phản hồi này được chấp nhận nhiều hơn thực tế là có một tài liệu tham khảo jQuery.split ở đâu đó với tôi ít nhất là cho tôi biết rằng nó nên ở đó mà không gây ra bất kỳ xung đột nào với mã của tôi và tất cả jQuery các plugin mà trên các hình ảnh đã xóa bạn có thể nhìn thấy ... xin cảm ơn một lần nữa
Jean Paul AKA el_vete

5
@JeanPaul - jQuery không có phân tách (). Chúng tôi đã vượt qua điều này. Cả hai bài viết bạn đã liên kết với văn bản được sử dụng trước đó () để lấy chuỗi JavaScript vanilla và sau đó được gọi là string.split (). Bạn chỉ đơn giản là sai trong trường hợp này. Thả nó.
Justin Niessner

52

Sử dụng .split(). (Phiên bản thứ hai sử dụng .slice().join()trên Mảng.)

var result = name.split('name')[1];
var result = name.split('name').slice( 1 ).join(''); // May be a little safer

Sử dụng .replace().

var result = name.replace('name','');

Sử dụng .slice()trên Chuỗi.

var result = name.slice( 4 );

jquery không hỗ trợ thay thế. Đây là Vanilla js
Jude


9

Đó chỉ là JavaScript đơn giản: xem substringsubstr.


1
Hoặc thực sự slice(). Strange JS nên có rất nhiều cách để nói cùng một điều, tất cả đều khác nhau một cách tinh tế. slice()là phương pháp ưa thích của tôi vì nó hoạt động nhất quán với slice()các mảng và cho phép các chỉ mục bắt đầu và kết thúc âm cho chỉ mục từ đầu đến cuối.
bobince

@ bobince: Đúng, và tôi không bao giờ nhớ được của substringsubstrmất một tham số chiều dài và trong đó có một chỉ số cuối - Tôi luôn luôn cần phải tìm kiếm các tài liệu để tìm hiểu.
casref

4

Bạn không cần jquery để làm điều đó.

var placeHolder="name";
var res=name.substr(name.indexOf(placeHolder) + placeHolder.length);

Tôi cần phải làm điều đó ở phía khách hàng và tôi đã có jquery. Bạn đang đề nghị gì sau đó? Xin lỗi vì câu hỏi đơn giản, nhưng tôi khá là người mới bắt đầu với js và jquery.
Hẻm

Câu lệnh đó sẽ trả về "nameGorge" vì indexOf ("name") sẽ trả về 0.
Justin Niessner

2
var name = "nameGorge";
name.match(/[A-Z].*/)[0]

0

Có, bạn có thể, mặc dù nó phụ thuộc vào chức năng vốn có của Javascript chứ không phải thư viện jQuery.

http://www.w3schools.com/jsref/jsref_substr.asp Cácsubstr chức năng sẽ cho phép bạn trích xuất một số phần của chuỗi.

Bây giờ, nếu bạn đang tìm kiếm một chuỗi hoặc ký tự cụ thể để sử dụng để tìm phần nào của chuỗi cần trích xuất, bạn cũng có thể sử dụng hàm indexOf. http://www.w3schools.com/jsref/jsref_IndexOf.asp

Câu hỏi hơi mơ hồ; thậm chí chỉ cần liên kết văn bản với 'tên' sẽ đạt được kết quả mong muốn. Chính xác các tiêu chí để có được chuỗi con của bạn là gì?


1
Tại sao bạn liên kết với strposchức năng của PHP trong một câu hỏi về JavaScript?
casifer

Bạn nói đúng, quá nhiều PHP cho tôi ngày hôm nay. Tôi đã chỉnh sửa với tương đương JS thích hợp. Cảm ơn đã bắt nó.
aaronofleonard

-1

Làm thế nào về sau đây?

<script charset='utf-8' type='text/javascript'>
  jQuery(function($) { var a=$; a.noConflict();
    //assumming that you are using an input text 
    //  element with the text "nameGorge"
    var itext_target = a("input[type='text']:contains('nameGorge')");
    //gives the second part of the split which is 'Gorge'
    itext_target.html().split("nameGorge")[1];
    ...
  });
</script>
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.