Logo | |
|
| Java - Find and get a substring form a string | |
| Tác giả | Thông điệp |
---|
Sakura
Thú CƯng :
Số bài viết : 1124 Điểm : 1688 Được cảm ơn : 35 Ngày sinh : 03/11/1990 Tham gia ngày : 16/03/2010 Tuổi : 34 Đến từ : Bình Dương Ngề nghiệp : IT Student
| Tiêu đề: Java - Find and get a substring form a string 29/6/2011, 16:28 | |
| Đang đọc mấy cái code LTUDM vớ vẩn, thấy có cái StringTokenizer hôm bữa hem nghe thầy nói rõ, nên lên mạng tìm 1 ví dụ đơn giản để cùng xem nó là thứ gì. Kiến thức hạn hẹp, Ai bik rồi thì đừng chém nhá!
Bài viết này hướng đến việc làm một thao tác xử lý chuỗi là tìm kiếm và lấy ra một chuỗi con từ một chuỗi gốc theo một đặc điểm nào đó. Chuỗi gốc này phải có dạng tương tự như: param=value,....
Trong tình huống trên, tôi muốn lấy chuỗi "value", thì làm thế nào? Trong Java, có một lớp có tên là StringTokenizer, cái từ token này chắc những ai đã từng học qua môn trình biên dịch thì không có lạ gì. StringTokenizer coi chuỗi mà ta truyền cho nó là một dãy gồm nhiều token và delimiter nằm xen kẽ nhau. Nó có 3 Constructor, còn cụ thể thì các bạn xem thêm trong "JavaTM 2 Platform" tại website: [You must be registered and logged in to see this link.] Và đây là code cho ví dụ trên (nếu không phù hợp với bạn thì bạn có thể tùy biến nó lại):
- Code:
-
public String getText(String str) { StringTokenizer strToken = new StringTokenizer(str, "=,"); while (strToken.hasMoreTokens()) { if (strToken.nextToken().equals("text")) return strToken.nextToken(); } return null; } Đây là cách mà tôi thấy nhanh và gọn nhất, nhưng đương nhiên đó là chỉ là một cách và có thể còn nhiều cách hay hơn nữa. Mong các bạn có thể áp dụng nó cho code của bạn! ***ồn: Valmzetvn |
| | | hotboy
Thú CƯng :
Số bài viết : 705 Điểm : 1043 Được cảm ơn : 9 Ngày sinh : 21/03/1990 Tham gia ngày : 13/05/2010 Tuổi : 34 Đến từ : BDU
| Tiêu đề: Re: Java - Find and get a substring form a string 29/6/2011, 19:26 | |
| cho cái ví dụ mà không giới thiệu cũng chả giải thích gì hết
cũng như cái này là gì StringTokenizer(str, "=,");
kết quả ra là cái gì
mục đích của cái ví dụ này là gì |
| | | Sakura
Thú CƯng :
Số bài viết : 1124 Điểm : 1688 Được cảm ơn : 35 Ngày sinh : 03/11/1990 Tham gia ngày : 16/03/2010 Tuổi : 34 Đến từ : Bình Dương Ngề nghiệp : IT Student
| Tiêu đề: Re: Java - Find and get a substring form a string 29/6/2011, 21:36 | |
| - hotboy đã viết:
- cho cái ví dụ mà không giới thiệu cũng chả giải thích gì hết
cũng như cái này là gì StringTokenizer(str, "=,");
kết quả ra là cái gì
mục đích của cái ví dụ này là gì Ví dụ ở trên đã cho ra kết quả rồi, còn không thì mọi người có thể xem tại đây, cụ thể: - Code:
-
//Ham xu ly public static String XuLy(String sFromClient) { System.out.println ("Da nhan tu Client: " + sFromClient); //Quy uoc nhap vao: * 3 4 5 6 StringTokenizer k = new StringTokenizer(sFromClient); String dau = k.nextToken(); int a = Integer.parseInt(k.nextToken()); int b = Integer.parseInt(k.nextToken()); int c = Integer.parseInt(k.nextToken()); int d = Integer.parseInt(k.nextToken()); PhanSo A = new PhanSo(a, b); PhanSo B = new PhanSo(c, d); PhanSo C = new PhanSo(); if(dau.equals((Object)String.valueOf("+"))) C = A.Cong(B); else if(dau.equals((Object)String.valueOf("-"))) C = A.Tru(B); else if(dau.equals((Object)String.valueOf("*"))) C = A.Nhan(B); else if(dau.equals((Object)String.valueOf("/"))) C = A.Chia(B); C.ToiGian(); return C.toString(); } Nói nôm na, nó là 1 hàm tách chuỗi dựa vào các delimiters. Mặc định thì các delimiters của nó là các khoảng trắng ( whitespace) như trên ví dụ trên. Trích dẫn 1 đoạn nho nhỏ lý thuyết. - Trích dẫn :
- The processing of text often consists of parsing a formatted input string. Parsing is the division of text into a set of discrete parts, or tokens, which in a certain sequence can convey a semantic meaning. The StringTokenizer class provides the first step in this parsing process, often called the lexer (lexical analyzer) or scanner. StringTokenizer implements the Enumeration interface. Therefore, given an input string, you can enumerate the individual tokens contained in it using StringTokenizer.
To use StringTokenizer, you specify an input string and a string that contains delimiters. Delimiters are characters that separate tokens. Each character in the delimiters string is considered a valid delimiter—for example, ",;:" sets the delimiters to a comma, semicolon, and colon. The default set of delimiters consists of the whitespace characters: space, tab, newline, and carriage return.
The StringTokenizer constructors are shown here:
- Code:
-
StringTokenizer(String str) StringTokenizer(String str, String delimiters) StringTokenizer(String str, String delimiters, boolean delimAsToken) In all versions, str is the string that will be tokenized. In the first version, the default delimiters are used. In the second and third versions, delimiters is a string that specifies the delimiters. In the third version, if delimAsToken is true, then the delimiters are also returned as tokens when the string is parsed. Otherwise, the delimiters are not returned.
Delimiters are not returned as tokens by the first two forms. Once you have created a StringTokenizer object, the nextToken( ) method is used to extract consecutive tokens. The hasMoreTokens( ) method returns true while there are more tokens to be extracted. Since StringTokenizer implements Enumeration, the hasMoreElements( ) and nextElement( ) methods are also implemented, and they act the same as hasMoreTokens( ) and nextToken( ), respectively.
Here is an example that creates a StringTokenizer to parse "key=value" pairs. Consecutive sets of "key=value" pairs are separated by a semicolon.
- Code:
-
// Demonstrate StringTokenizer. import java.util.StringTokenizer; class STDemo { static String in = "title=Java-Samples;" + "author=Emiley J;" + "publisher=java-samples.com;" + "copyright=2007;"; public static void main(String args[]) { StringTokenizer st = new StringTokenizer(in, "=;"); while(st.hasMoreTokens()) { String key = st.nextToken(); String val = st.nextToken(); System.out.println(key + "\t" + val); } } } The output from this program is shown here:
title Java-samples author Emiley J publisher java-samples.com copyright 2007 |
| | | hotboy
Thú CƯng :
Số bài viết : 705 Điểm : 1043 Được cảm ơn : 9 Ngày sinh : 21/03/1990 Tham gia ngày : 13/05/2010 Tuổi : 34 Đến từ : BDU
| Tiêu đề: Re: Java - Find and get a substring form a string 30/6/2011, 12:38 | |
| ghê quá trích dẫn toàn ến lệch nhìn mà choáng, dù sao cũng thank |
| | | Sponsored content
| Tiêu đề: Re: Java - Find and get a substring form a string | |
| |
| | | | Java - Find and get a substring form a string | |
|
Trang 1 trong tổng số 1 trang | |
Similar topics | |
|
| Permissions in this forum: | Bạn không có quyền trả lời bài viết
| |
| |
| Latest topics | » Renew forum by Mr.Cuong 4/4/2015, 08:10
» Diễn đàn bỏ lâu vậy mà vẫn không die! by theanhkkt 1/4/2015, 08:03
» Phân biệt giải thuật tìm kiếm sâu và sâu dần... by mailoc 20/12/2014, 15:12
» Toàn bộ giáo trình bên mạng của Nhất Nghệ đây (Link mediafire) Hot down nhanh kẻo die by mrchikoy 11/6/2013, 10:34
» [Thông báo] Còn ai nhớ page này by jetvhs 10/6/2013, 13:45
» PHI HÀNH ĐOÀN MỚI LÊN ISS by Sakura 10/6/2013, 00:41
» LAPTOP ASUS TAICHI VỚI MÀN HÌNH FULL HD KÉP by Mr.Cuong 25/5/2013, 12:04
» Video tự học C# từ A->Z by Sakura 7/5/2013, 16:11
» Cơ Bản Ép Kiểu Trong Java by Sakura 7/5/2013, 16:09
» THÔNG BÁO VỀ VIỆC DỰ KIẾN KIỂM TRA NĂNG LỰC NGOẠI NGỮ - TIN HỌC THÁNG 07/2012 by Sakura 7/5/2013, 16:09
» Mấy anh chị cho em xin cái đồ án mẫu !! by huutuan_se7en 4/1/2013, 22:37
» Làm thế nào để tạo ra 1 form đăng nhập bằng C Sharp by Sakura 14/9/2012, 18:09
» Tổ chức đi du lịch Vũng Tàu 2 ngày 1 đêm by o0ovioletstaro0o 15/8/2012, 20:51
» Những hình ảnh báo cáo tốt nghiệp khóa 2008 -2012 by hotboy 10/8/2012, 13:35
» Banner xấu quá! @@ by con_ca_nho90 25/7/2012, 19:43
» mấy anh chị cho em khóa 12 hỏi cái này by con_ca_nho90 25/7/2012, 19:40
» Hướng dẫn - Làm website bằng Google Site; Đăng ký và sử dụng Google Apps by Già Làng 18/6/2012, 14:20
» Tài liệu ôn thi QTDA CNTT by Sakura 15/6/2012, 15:38
» học phí, lệ phí thi lại học lại năm học 2012 - 2013 update :P by o0ovioletstaro0o 4/6/2012, 14:36
» [11TH02][QTDACNTT] - Tài liệu full by Sakura 15/5/2012, 08:13
|
|