Cách tìm số trong xâu

em muốn hỏi là nếu muốn rút 1 số từ trong xâu mà ko phải liên tiếp thì mình nên duyệt ntn ạ

 for (int i=0;i<s.length();i++)
        if (s[i]>='1'&&s[i]<='9')
            for (int j=i;j<s.length();j++)
                    if (s[j]<'0'||s[j]>'9')
                             s1=s.substr(i,j-i);

VD: abc123abc4
thì đến s[3]=1;
j:3->9 s[6]=a nó sẽ rút s1=123;
đến đây em muốn nó ko rút nữa mà chuyển sang xét luôn đến s[9] còn như e viết nó sẽ tăng i=4 và s[4]=2 ->s1=23 e ko muốn nó trích ntn thì nên làm ntn ạ

Dùng luôn biến lặp i cho cả hai vòng lặp :smiley:

Nếu thấy không ổn thì dùng kỹ thuật FSM gồm 2 trạng thái: số - không phải (chữ) số. Chỉ khi chuyển trạng thái thì mới thực hiện các bước.

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?