A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
No4のやり方だと"hherer."が"her."にならないといけないのに"."になります。
そこでそれを直すとともに速度も速くなるように若干の修正します。
#include<string>
#include<iostream>
using namespace std;
void main(void)
{
unsignedpos;
stringstr;
char*a;
chara1[]="This is a her book.hherer.";
chara2[]="her";
//
for(str=a1,pos=0;(pos=str.find(a2,pos))!=string::npos;str.erase(pos,strlen(a2)));
strcpy(a=new char[str.size()+1],str.c_str());
cout<<"a1="<<a1<<endl;
cout<<"a2="<<a2<<endl;
cout<<"str="<<str<<endl;
cout<<"a="<<a<<endl;
delete[]a;
}
結果:
a1=This is a her book.hherer.
a2=her
str=This is a book.her.
a=This is a book.her.
No.4
- 回答日時:
文字列a2がいっぱいある場合には
#include<string>
#include<iostream>
using namespace std;
void main(void)
{
unsignedpos;
stringstr;
char*a;
chara1[]="This is a her book.That is a her notebook.";
chara2[]="her ";
//
for(str=a1;(pos=str.find(a2))!=string::npos;str.erase(pos,strlen(a2)));
strcpy(a=new char[str.size()+1],str.c_str());
cout<<"a1="<<a1<<endl;
cout<<"a2="<<a2<<endl;
cout<<"str="<<str<<endl;
cout<<"a="<<a<<endl;
delete[]a;
}
結果:
a1=This is a her book.That is a her notebook.
a2=her
str=This is a book.That is a notebook.
a=This is a book.That is a notebook.
No.3
- 回答日時:
もっと簡潔にすれば・・・
#include<string>
#include<iostream>
using namespace std;
void main(void)
{
string str;
char *a;
char a1[]="This is a her book.";
char a2[]="her";
(str=a1).erase(string(a1).find(a2),string(a2).size());
strcpy(a=new char[str.size()+1],str.c_str());
cout<<"a1="<<a1<<endl;
cout<<"a2="<<a2<<endl;
cout<<"str="<<str<<endl;
cout<<"a="<<a<<endl;
delete[]a;
}
結果:
a1=This is a her book.
a2=her
str=This is a book.
a=This is a book.
No.2
- 回答日時:
#include<string>
#include<iostream>
using namespace std;
void main(void)
{
string str,str1,str2;
char *a;
char a1[]="This is a her book.";
char a2[]="her";
str1=a1;str2=a2;
(str=str1).erase(str1.find(str2),str2.size());
a=new char[str.size()+1];
strcpy(a,str.c_str());
cout<<"str1="<<str1<<endl;
cout<<"str2="<<str2<<endl;
cout<<"str="<<str<<endl;
cout<<"a="<<a<<endl;
delete[]a;
}
結果:
str1=This is a her book.
str2=her
str=This is a book.
a=This is a book.
No.1
- 回答日時:
a2に含まれる文字ということは、hも抜き取るんでしょうか?それなら、Tis is...になりますね。
そうではなく、a2にマッチした部分を削除するんでしたら、まずは文字列検索(照合)をしてどこにマッチする部分があるかを調べる必要があります。
ナイーブな方法ならいろいろありますが、洗練された方法の一つにboyer moore法があります。参考URLにあげますので、調べてみてください。
参考URL:http://www.people.or.jp/~fussy/algo/algo7-4.htm
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
えエクセルで○は1とし△は0.5で...
-
EXCELで2つの数値のうち大きい...
-
エクセルで二つの数字の小さい...
-
Excelで隣のセルと同じ内容に列...
-
PowerPointで表の1つの列だけ...
-
エクセルで、2種類のデータを...
-
エクセルでオートフィルタのボ...
-
エクセルで最初のスペースまで...
-
エクセルで時刻(8:00~20:00)...
-
エクセルの項目軸を左寄せにしたい
-
エクセルで文字が混じった数字...
-
エクセル(勝手に太字になる)
-
エクセルで一列おきに空白列を...
-
Excelのオートフィルタで非表示...
-
エクセルのオートフィルタで最...
-
Excelで半角の文字を含むセルを...
-
エクセル 同じ値を探して隣の...
-
2つのエクセルのデータを同じよ...
-
エクセルで極大値を拾うには
-
エクセルで特定の文字が入って...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
えエクセルで○は1とし△は0.5で...
-
UWSCのCALLで呼び出すファイル...
-
Excel 英大文字小文字を区別せ...
-
Susieのスライドショーにて
-
htmlのAタグおよびその下位のDI...
-
VBA スタック容量が足りない・...
-
URLの?以降の名称(~~/index...
-
Excel ユーザーフォームのオプ...
-
エクセルのマクロを使って、デ...
-
VBAで組み合わせ算出やCOUNTIFS...
-
以下の条件に合う関数を教えて...
-
エクセルーオートSUMについて
-
上限、下限について
-
数IIBの数列の問題、、、
-
EXCELで2つの数値のうち大きい...
-
エクセルで二つの数字の小さい...
-
Excelで隣のセルと同じ内容に列...
-
PowerPointで表の1つの列だけ...
-
エクセル(勝手に太字になる)
-
エクセルでオートフィルタのボ...
おすすめ情報