var str = "7-Dec-1985"
var str = "12-Jan-1703"
var str = "18-Feb-1999"
Làm thế nào tôi có được về việc kéo chỉ một năm ra khỏi chuỗi? Tôi đã thử một số RegEXP khác nhau nhưng dường như không có gì hoạt động.
Tôi đã mong đợi re = new RegExp[/[\d+]\D*\z/];
đã làm việc nhưng thật đáng buồn là không.
Bất kỳ đề xuất nào cũng sẽ được đánh giá cao
Đã hỏi ngày 6 tháng 12 năm 2011 lúc 23:48Dec 6, 2011 at 23:48
2
Vì tất cả các [s] ____ 9 của bạn sử dụng
var year = str.match[/\d+$/][0];
0 làm dấu phân cách, điều này sẽ hoạt động cho bạn:var str = "7-Dec-1985",
arr = str.split['-'],
year = arr[2];
console.log[year];
Đã trả lời ngày 6 tháng 12 năm 2011 lúc 23:51Dec 6, 2011 at 23:51
PierrepierrePierre
18.2K4 Huy hiệu vàng41 Huy hiệu bạc62 Huy hiệu Đồng4 gold badges41 silver badges62 bronze badges
4
Điều này nên làm điều đó
var year = str.match[/\d+$/][0];
Đã trả lời ngày 6 tháng 12 năm 2011 lúc 23:52Dec 6, 2011 at 23:52
Gabriele Petrioligabriele PetrioliGabriele Petrioli
186K34 Huy hiệu vàng255 Huy hiệu bạc 307 Huy hiệu đồng34 gold badges255 silver badges307 bronze badges
1
Đã trả lời ngày 6 tháng 12 năm 2011 lúc 23:53Dec 6, 2011 at 23:53
CodeSlingerCodeslingerCodeSlinger
4193 Huy hiệu bạc8 Huy hiệu Đồng3 silver badges8 bronze badges
Nhận số từ cuối chuỗi #
Để có được số từ cuối chuỗi, hãy gọi phương thức
1, chuyển nó theo biểu thức chính quy sau var year = str.match[/\d+$/][0];
2. Phương thức var year = str.match[/\d+$/][0];
3 sẽ trả về một mảng chứa số từ cuối chuỗi tại INDEX var year = str.match[/\d+$/][0];
4.var year = str.match[/\d+$/][0];
Copied!
const str = 'one 2 three 456'; const arr = str.match[/[0-9]+$/]; console.log[arr]; // 👉️ ['456'] const num = parseInt[arr[0], 10]; console.log[num]; // 👉️ 456
Chúng tôi đã sử dụng phương thức chuỗi.Match để có được một mảng chứa số ở cuối chuỗi.
Tham số duy nhất mà phương thức thực hiện là một biểu thức chính quy.
Tiền đạo chém
var year = str.match[/\d+$/][0];
5 đánh dấu sự khởi đầu và kết thúc của biểu thức chính quy.Phần ngoặc vuông
6 được gọi là lớp ký tự và khớp với một loạt các chữ số từ var year = str.match[/\d+$/][0];
4 đến var year = str.match[/\d+$/][0];
8.var year = str.match[/\d+$/][0];
Cộng với
9 khớp với mục trước [phạm vi chữ số] một hoặc nhiều lần.var year = str.match[/\d+$/][0];
Dấu hiệu đô la
0 phù hợp với kết thúc của đầu vào.Copied!
const str = 'one 2 three 456'; const arr = str.match[/[0-9]+$/]; console.log[arr]; // 👉️ ['456'] const num = parseInt[arr[0], 10]; console.log[num]; // 👉️ 456
Nếu bạn cần trợ giúp đọc một biểu thức thông thường, hãy kiểm tra giá trị gian lận regex này từ MDN ra.
Khi chúng tôi có mảng chứa các chữ số khớp, chúng tôi sử dụng chức năng ParseInt để phân tích chuỗi thành một số.
Nếu biểu thức chính quy không được khớp trong chuỗi [chuỗi không chứa các chữ số ở cuối], phương thức Copied!
3 sẽ trả về var year = str.match[/\d+$/][0];
2.const str = 'one 2 three 456';
const arr = str.match[/[0-9]+$/];
console.log[arr]; // 👉️ ['456']
const num = parseInt[arr[0], 10];
console.log[num]; // 👉️ 456
Copied!
const str = 'one 2 three 456 seven'; const arr = str.match[/[0-9]+$/]; console.log[arr]; // 👉️ null
Nếu bạn cần xử lý kịch bản này, bạn có thể sử dụng câu lệnh
3.Copied!
const str = 'one 2 three 456'; const arr = str.match[/[0-9]+$/]; console.log[arr]; // 👉️ ['456'] const num = parseInt[arr[0], 10]; console.log[num]; // 👉️ 456
Copied!
const str = 'one 2 three 456 seven'; const arr = str.match[/[0-9]+$/]; console.log[arr]; // 👉️ null let num; if [arr !== null] { console.log['✅ String contains digits at the end']; num = parseInt[arr[0], 10]; } else { console.log['⛔️ String contains NO digits at the end']; }
Trong ví dụ này, chúng tôi chỉ gọi hàm
4, nếu chúng tôi chắc chắn rằng chuỗi chứa các chữ số ở cuối.Copied!
const str = 'one 2 three 456'; const arr = str.match[/[0-9]+$/]; console.log[arr]; // 👉️ ['456'] const num = parseInt[arr[0], 10]; console.log[num]; // 👉️ 456
Cố gắng truy cập phần tử tại Index Copied!
4 trên giá trị var year = str.match[/\d+$/][0];
2 sẽ cho chúng ta một lỗi, vì vậy thật tốt khi xử lý các kịch bản này.const str = 'one 2 three 456';
const arr = str.match[/[0-9]+$/];
console.log[arr]; // 👉️ ['456']
const num = parseInt[arr[0], 10];
console.log[num]; // 👉️ 456
Đọc thêm #
- Thay thế lần xuất hiện đầu tiên của ký tự trong chuỗi trong JS
- Nhận số đầu tiên trong chuỗi bằng cách sử dụng JavaScript