Tách Dãy Số Từ Chuỗi
Có thể bạn quan tâm
Bài viết này sẽ giúp các bạn tách dãy số từ chuỗi. Ví dụ với chuỗi
"-1.223 %^& fsf 0.234 56.65 fsf 9 f"Chúng ta sẽ tách được ra các số:
-1.223 0.234 56.65 9
Ở đây mình thực hiện thành công trên c và java, các ngôn ngữ khác chắc cũng có cách ;). Nói thêm là cách làm có sử dụng đến regex, bạn nào chưa rõ có thể đọc thêm về nó.
Trong C: thực chất cách này là mình tham khảo và phát triển từ bài How to extract numbers from string in c
#include <string.h> #include <stdlib.h> #include <stdio.h> int main(void) { // khong doc duoc str khi bat dau bang dau tru (-) char* str= "-1.223 %^& fsf 0.234 56.65 fsf 9 f"; // khai bao, cap phat bo nho them s de cong them vao dau 1 ky tu char* const s = (char*)malloc(sizeof(strlen(str))+1); // cong them ky tu a strcpy(s, "a"); strcpy(s + strlen(s), str); printf("%s\n",s); // tach lay cac so int total_n = 0; int n; float i; // cac so can tach printf("\nday cac so\n"); while (1 == sscanf(s + total_n, "%*[^0123456789-]%f%n", &i, &n)) { total_n += n; printf("%f\n", i); } return 0; }Trong Java: Cách dễ dàng nhất là biến tẩt cả ký tự không phải số (ngoại trừ dấu âm, dấu chấm) rồi tách thành các phần tử như dưới đây:
public class ScanArrayNumFromString { public static void main(String[] args) { // chuoi ban dau String str = "-1.223 %^& fsf 0.234 56.65 fsf 9 f"; /** * thay the toan bo nhung ky tu khong phai so, khong phai dau am, khong * phai dau cham bang dau phay */ str = str.replaceAll("[^0-9,-\\.]", ","); /** cat thanh cac phan tu thong qua dau phay */ String[] item = str.split(","); // duyet cac phan tu, neu la so thi in ra for (int i = 0; i < item.length; i++) { try { Double.parseDouble(item[i]); System.out.println(item[i]); } catch (NumberFormatException e) { } } } }Bài viết được thực hiện khi một bạn nào đó tối nay nhờ mình sửa bài về cái này trong c, tìm mãi mới thấy cách dùng.
Bạn có thể sẽ thích:
Từ khóa » Tách Số Trong Chuỗi Java
-
Java - Tách Các Từ Có Trong Chuỗi Và Hiển Thị Mỗi Từ Trên 1 Dòng.
-
Tách Dãy Số Từ Chuỗi Cho Trước - Dotnet Group
-
Cách Tách Một Chuỗi Trong Java? - HelpEx
-
Hỏi Cách Phân Tích Chuỗi Thành Mảng Các Ký Tự Trong Java
-
Java 56. Cách Phân Tách Chuỗi Thành Mảng Trong Lập Trình Java
-
#034 - Tách Một Chuỗi Thành Một Mảng | DEVMASTER
-
Java: Hàm Xử Lý Chuỗi (String) | V1Study
-
Cách Tách Một Chuỗi Trong Java
-
Tách Một Số Nguyên Thành Nhiều Chữ Số Trong Java
-
Cắt Chuỗi Tĩnh Và động Trong Java - Deft Blog
-
Chuỗi Phân Tách Chỉ Trong Trường Hợp đầu Tiên - Java
-
ách Một Số Nguyên Thành Nhiều Chữ Số Trong Java
-
Phương Thức Split Trong Java String - Học Java Miễn Phí Hay Nhất
-
Phương Thức Chuỗi Split () Trong Java: Cách Tách Chuỗi Bằng Ví Dụ