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 Java
-
Tách Một Số Nguyên Thành Nhiều Chữ Số Trong Java - Freetuts
-
ách Một Số Nguyên Thành Nhiều Chữ Số Trong Java
-
Tách Một Số Nguyên Thành Nhiều Chữ Số Trong Java
-
Cách Phân Tách Số Hàng Nghìn Trong Java
-
Cần Giúp Bài Tách Chữ Số - Programming - Dạy Nhau Học
-
Tách Số Ra Phần Ngàn Trong Java - Programming - Dạy Nhau Học
-
Tách Dãy Số Từ Chuỗi Cho Trước - Dotnet Group
-
Java 56. Cách Phân Tách Chuỗi Thành Mảng Trong Lập Trình Java
-
Cách Tách Một Chuỗi Trong Java? - HelpEx
-
Tìm Chữ Số đầu Tiên Của Số Nguyên Dương | VnCoding
-
Bài Tập Java - Phân Tích Số Nguyên N Thành Tích Các Số Nguyên Tố
-
Cách Tách Một Chuỗi Trong Java
-
Tách Giải Pháp Numbers HackerRank Trong C, C ++, Java, Python
-
(hỏi) Viết Chương Trình In Ra Các Số - CongDongJava