【プログラミング】C++のstring型の扱いに詳しい人来てくれ
■ このスレッドは過去ログ倉庫に格納されています
文字列の中の数字を抜き取りたいんだがどうやればいい?? A12B34C55A6C3
↑みたいな文字列があってそこから
12
34
55
6
3
を抜き取りたい >>2
ありがとうございます性器表現使ってみます! 数字を抜き取りたいって
【a1b2c3】
↓
【abc】
こんなふうに変換するってこと? 正規表現で一気に抜き取るか
正規表現使わないなら1文字ずつ判定するしかないね でも入力判定だから間違ってる場合もある
A12B34C55A6C3←これならおっけー
AA2B34C55A6C3←この場合はアウト
成功したらそれぞれの値を変数に代入したいの 正規表現で一発変換
forで一文字ずつ取り出してintにキャストしてから数値比較判定 >>9
上例がokで下例がngってことは、アルファベット(数値以外)が二文字続くのかngってこと? #include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int main(){
_char__*a="11,__3.5________,5,__10___,__0.0,__999";
_char__*b;
_char__c=0x20;
_double_v;
_while(*a){
__if(isdigit(*a)){
___v = strtod(a,&b);
___printf("%c",c); c = ',';
___if((int)v==v){
____printf("%d",(int)v);
___}else{
____printf("%.1f",v);
___}
___a = b;
__}else{
___a++;
__}
_} printf("\n");
_return 0;
} 普通に扱えるけど
出来る人は限られてくるほど理解度が必要 C++ってキャストしなきゃ文字型の大小判定できない? まずC++で文字列の入力という場面が限られてくる
というか一般人がC++で文字列の入力が必要なアプリケーションなんて作らないかと 学校の宿題だから当たり前だろ
c++だから人がってのも大概だが toCharArrayしてisalphaだったらその文字を””に足していけば? ■ このスレッドは過去ログ倉庫に格納されています