Hướng dẫn dùng str.extract JavaScript
Extract capture groups in the regex pat as columns in a DataFrame. For each subject string in the Series, extract groups from the first match of regular expression pat. ParameterspatstrRegular expression pattern with capturing groups. flagsint, default 0 (no flags)Flags from the If True, return DataFrame with one column per capture group. If False, return a Series/Index if there is one capture group or DataFrame if there are multiple capture groups. ReturnsDataFrame or Series or IndexA
DataFrame with one row for each subject string, and one column for each group. Any capture group names in regular expression pat will be used for column names; otherwise capture group numbers will be used. The dtype of each result column is always object, even when no match is found. If See also extractall Returns all matches (not just the first match). Examples A pattern with two groups will return a DataFrame with two columns. Non-matches will be NaN. >>> s = pd.Series(['a1', 'b2', 'c3']) >>> s.str.extract(r'([ab])(\d)') 0 1 0 a 1 1 b 2 2 NaN NaN A pattern may contain optional groups. >>> s.str.extract(r'([ab])?(\d)') 0 1 0 a 1 1 b 2 2 NaN 3 Named groups will become column names in the result. >>> s.str.extract(r'(?P A pattern with one group will return a DataFrame with one column if expand=True. >>> s.str.extract(r'[ab](\d)', expand=True) 0 0 1 1 2 2 NaN A pattern with one group will return a Series if expand=False. >>> s.str.extract(r'[ab](\d)', expand=False) 0 1 1 2 2 NaN dtype: object Series lập trình JavaScript, ngôn ngữ lập trình linh động, thực thi phía client.Thuộc tính (Properties) và Phương thức (Methods) của String JavaScript– Các phương thức String giúp bạn làm việc với các chuỗi. – Các giá trị nguyên thủy (primitive values) như “Hello JavaScript”, không thể có các thuộc tính hoặc phương thức (vì chúng không phải là các đối tượng). – Nhưng với JavaScript, các phương thức và thuộc tính cũng có sẵn cho các giá trị nguyên thủy, bởi vì JavaScript xử lý các giá trị nguyên thủy như các đối tượng khi thực thi các phương thức và các thuộc tính. Nội dung chính:
1. Cách tạo một đối tượng String 1. Cách tạo một đối tượng StringString() → trả về một chuỗi rỗng (empty), giống như là “”. String(value) → chuyển đổi value thành giá trị nguyên thủy kiểu string, rồi return nó. new String(value) → giống với String(value), nhưng sẽ return một đối tượng (object) string. Để tạo ra một đối tượng String bạn có thể sử dụng cú pháp sau: Syntax: var objStr = new String("Hello JavaScript"); – Tuy nhiên, đừng bao giờ tạo chuỗi (string) làm đối tượng (object). Nó làm chậm tốc độ thực thi và từ khóa new làm phức tạp code. 2. Các thuộc tính của String 2. Các thuộc tính của String2.1. Thuộc tính constructor– Trong JavaScript, thuộc tính constructor trả về hàm khởi tạo cho một đối tượng. – Giá trị trả về là một tham chiếu đến hàm, không phải là tên của hàm. Cú pháp: string.constructor – Đối với các chuỗi JavaScript, thuộc tính constructor trả về: function String() { [native code] } Ví dụ: var str = new String("Minh Hoàng Blog!"); str.constructor Try it » 2.2. Thuộc tính length– Thuộc tính length trả về số ký tự của một chuỗi. Cú pháp: string.length Ví dụ: var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; var len = str.length; Try it » – Trường hợp gán giá trị cho thuộc tính length của chuỗi, cũng không ảnh hưởng gì đến chuỗi cả. Ví dụ: // Khai báo và khởi tạo chuỗi var myString = "www.minhhn.com"; // Thay đổi thuộc tính length myString.length = 4; Try it » 2.3. Thuộc tính prototype– Thuộc tính prototype cho phép bạn thêm các thuộc tính và phương thức cho bất kỳ đối tượng nào (Number, Boolean, String và Date,…). – Prototype là một thuộc tính global có sẵn với hầu như tất cả các đối tượng. Cú pháp: object.prototype.name = value; Ví dụ: // Khai báo đối tượng và // khởi tạo giá trị cho thuộc tính có sẵn là "title", "author" var myBook = new book("Learning JavaScript Design Patterns", "Addy Osmani"); // Thêm thuộc tính mới cho đối tượng bằng thuộc tính "prototype" book.prototype.price = null; myBook.price = "$28.89"; Try it » 3. Một số phương thức thường dùng 3. Một số phương thức thường dùng3.1. Nhóm phương thức tìm kiếm (Find) chuỗi trong một chuỗi
Phương thức indexOf() trả về chỉ mục (vị trí) của chuỗi chỉ định đầu tiên xuất hiện trong chuỗi tìm kiếm. Ví dụ: var str = "welcome to minh hoàng blog! www.minhhn.com"; var pos = str.indexOf("minh"); Try it » JavaScript đếm vị trí từ số không. – Phương thức lastIndexOf() trả về chỉ mục (vị trí) của chuỗi chỉ định cuối cùng xuất hiện trong chuỗi tìm kiếm. Ví dụ: var str = "welcome to minh hoàng blog! www.minhhn.com"; var pos = str.lastIndexOf("minh"); Try it » Cả hai phương thức indexOf() và lastIndexOf() đều trả về -1 nếu không tìm thấy chuỗi chỉ định. – Cả hai phương thức indexOf() và lastIndexOf() đều có thể có thêm tham số thứ hai là vị trí bắt đầu tìm kiếm chuỗi. Ví dụ: var str = "welcome to minh hoàng blog! www.minhhn.com"; var posFirst = str.indexOf("minh", 12); var posLast = str.lastIndexOf("minh", 34); Try it » ● Phương thức search()Phương thức search() tìm kiếm giá trị đã chỉ định trong chuỗi và trả về vị trí phù hợp. Ví dụ: var str = "welcome to minh hoàng blog! www.minhhn.com"; var pos = str.search("minh"); Try it » ★ Tips:Hai phương thức indexOf() và search() nhìn có vẻ giống nhau khi truyền vào cùng tham số và nhận lại cùng một kết quả, nhưng chúng là khác nhau:
3.2. Nhóm phương thức trích xuất (Extract) một phần chuỗi từ một chuỗi
– Trong ví dụ này, chúng ta cắt một phần của chuỗi từ vị trí 7 đến vị trí 13. Ví dụ: var str = "Apple, Banana, Kiwi"; var newStr = str.slice(7,13); // Banana Try it » – Nếu tham số là số âm, vị trí được trích xuất tính từ cuối chuỗi. – Trong ví dụ này, chúng ta cắt một phần của chuỗi ký tự từ vị trí -12 sang vị trí -6. Ví dụ: var str = "Apple, Banana, Kiwi"; var newStr = str.slice(-12,-6); // Banana Try it » – Nếu bạn bỏ qua tham số thứ hai (endSlice), phương thức sẽ cắt đến hết chuỗi. Ví dụ: var str = "Apple, Banana, Kiwi"; var str1 = str.slice(7); var str2 = str.slice(-16); Try it » Vị trí là số âm sẽ không hoạt động với Internet Explorer 8 và phiên bản cũ hơn. ● Phương thức substring()– substring() thì tương tự như slice(). – Sự khác biệt là substring() không chấp nhận các chỉ số âm (negative indexes). Ví dụ: var str = "Apple, Banana, Kiwi"; var newStr = str.substring(7,13); // Banana Try it » – Nếu bạn bỏ qua tham số thứ hai, phương thức sẽ cắt đến hết chuỗi. ● Phương thức substr()– substr() thì tương tự như slice(). – Sự khác biệt là tham số thứ hai chỉ định chiều dài của phần được trích xuất. Ví dụ: var str = "Apple, Banana, Kiwi"; var newStr = str.substr(7,10); // Banana, Ki Try it » – Nếu bạn bỏ qua tham số thứ hai, phương thức sẽ cắt đến hết chuỗi. – Nếu tham số đầu tiên là số âm, vị trí sẽ tính từ cuối chuỗi. Ví dụ: var str = "Apple, Banana, Kiwi"; var newStr = str.substr(-10); // nana, Kiwi Try it » 3.3. Nhóm phương thức trích xuất (Extract) ký tự từ một chuỗi
Phương thức charAt() trả về ký tự tại chỉ mục/index (vị trí/position) được chỉ định trong chuỗi. Ví dụ: var str = "MINH HOÀNG"; str.charAt(5); // return H Try it » ● Phương thức charCodeAt()– Phương thức charCodeAt() trả về unicode của ký tự tại chỉ mục/index được chỉ định trong chuỗi. – Phương thức này trả về một số nguyên UTF-16 từ 0 đến 65535. Ví dụ: var str = "MINH HOÀNG"; str.charCodeAt(5); // return 72 Try it » ● Property access [ ]ECMAScript 5 (2009) cho phép truy cập thuộc tính [] trên chuỗi: Ví dụ: var str = "MINH HOÀNG"; str[5]; // return H Try it » Quyền truy cập thuộc tính có thể hơi khó lường:
Ví dụ: var str = "MINH HOÀNG"; str[5] = "A"; // Không có lỗi, nhưng không có tác dụng str[5]; // Ký tự tại index = 5 vẫn là H Try it » Nếu bạn muốn làm việc với một chuỗi như một mảng, bạn có thể chuyển đổi nó thành một mảng. 3.4. Chuyển đổi một chuỗi (String) thành một mảng (Array)– Một chuỗi có thể được chuyển đổi thành một mảng với phương thức split(): Ví dụ: var str = "a,b,c,d,e"; // String str.split(","); // Split on commas str.split(" "); // Split on spaces str.split("|"); // Split on pipe Try it » – Nếu dấu tách được bỏ qua, mảng được trả về sẽ chứa toàn bộ chuỗi trong chỉ mục [0] (index [0]). – Nếu dấu phân cách là “”, mảng được trả về sẽ là một mảng các ký tự đơn: Ví dụ: var str = "Hello"; // String str.split(""); // Split thành một mảng chứa từng ký tự Try it » 3.5. Phương thức thay thế (Replace) nội dung của chuỗi– Phương thức replace() thay thế một giá trị được chỉ định bằng một giá trị khác trong một chuỗi. – Phương thức replace() không thay đổi chuỗi được gọi (chuỗi gốc) mà sẽ trả về một chuỗi mới. Ví dụ: var str = "Welcome to Google!"; var strNew = str.replace("Google", "Minh Hoàng Blog"); Try it » – Theo mặc định, hàm replace() chỉ thay thế kết quả khớp đầu tiên: Ví dụ: var str = "Welcome to Google and visit Google!"; var strNew = str.replace("Google","Minh Hoàng Blog"); Try it » – Để thay thế tất cả các kết quả phù hợp (matches), bạn hãy sử dụng regular expression (biểu thức chính quy) với flag /g (global match): Ví dụ: var str = "Welcome to Google and visit Google!"; var strNew = str.replace(/Google/g,"Minh Hoàng Blog"); Try it » Các biểu thức chính quy (Regular expressions) được viết mà không có dấu trích dẫn (quotes). – Theo mặc định, hàm replace() phân biệt chữ hoa chữ thường. Do đó nếu viết GOOGLE thì sẽ không replace được: Ví dụ: var str = "Welcome to Google!"; var strNew = str.replace("GOOGLE", "Minh Hoàng Blog"); – Để thay thế mà không phân biệt chữ hoa chữ thường, bạn hãy sử dụng regular expression (biểu thức chính quy) với flag /i (insensitive): Ví dụ: var str = "Welcome to Google!"; var strNew = str.replace(/GOOGLE/i, "Minh Hoàng Blog"); Try it » 3.6. Phương thức nối chuỗi concat()– Phương thức concat() dùng để nối hai hoặc nhiều chuỗi: Ví dụ: var str1 = "Hello"; var str2 = "World"; var str3 = str1.concat(" ", str2); // Hello World! – Phương thức concat() có thể được sử dụng thay cho toán tử cộng. Hai dòng này tương đương nhau: Ví dụ: var str1 = "Hello" + " " + "World!"; var str2 = "Hello".concat(" ", "World!"); Tất cả các phương thức chuỗi trả về một chuỗi mới. Chuỗi gốc không bị thay đổi. 3.7. Chuyển đổi chuỗi thành chữ HOA, chữ thườngMột chuỗi được chuyển thành chữ HOA với toUpperCase(), thành chữ thường với toLowerCase(): Ví dụ: var str = "Hello World!"; var strUpper = str.toUpperCase(); // HELLO WORLD! var strLower = str.toLowerCase(); // hello world! Try it » 3.8. Phương thức xóa khoảng trắng trong chuỗi trim()– String.trim() loại bỏ khoảng trắng từ cả hai bên của một chuỗi. Ví dụ: var str = " Hello World! "; alert(str.trim()); // "Hello World!" String.trim() không hoạt động với Internet Explorer 8 và phiên bản cũ hơn. – Nếu bạn cần hỗ trợ IE 8, bạn có thể sử dụng String.replace với biểu thức chính quy như sau: Ví dụ: var str = " Hello World! "; alert(str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '')); – Bạn cũng có thể thêm một hàm “trim” vào JavaScript String.prototype bằng cách sử dụng giải pháp thay thế ở trên: Ví dụ: if (!String.prototype.trim) { String.prototype.trim = function () { return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); }; var str = " Hello World! "; alert(str.trim()); Try it » Cảm ơn bạn đã theo dõi. Đừng ngần ngại hãy cùng thảo luận với chúng tôi!0 0 votes Đánh giá bài viết |