
こんにちは。質問をさせてください。
---------------------------------------------------------------
address = "ここ$http://www.aaaaa.co.jp$moji=dddd$";
---------------------------------------------------------------
変数addressに格納された文字列で、
"http://"の1文字前に"$"があった場合は、
"$"を削除したいのですが、どのようにすれば
いいでしょうか?
※http://の前の"$"以外はそのまま残します。
No.1ベストアンサー
- 回答日時:
#include <iostream>
#include <string>
int main() {
std::string address = "ここ$http://www.aaaaa.co.jp$moji=dddd$";
std::string::size_type pos = address.find("$http://");
if ( pos != std::string::npos ) {
address.erase(pos,1);
}
std::cout << address << std::endl;
return 0;
}
No.3
- 回答日時:
いろいろやり方はあると思いますが
基本的なやり方として
こんな感じでどうでしょう?
#include <stdio.h>
int main()
{
int flag;
char *address = "ここ$http://www.aaaaa.co.jp$moji=dddd$";
char *wk;
for( wk=address , flag=0 ; *wk ; wk++){
if( *wk == '$' && flag == 0){
*wk = *(wk + 1);
flag = 1;
}
else if( flag == 1 ){
*wk = *(wk + 1);
}
}
printf("address = [ %s ] \n", address);
}
No.2
- 回答日時:
#1の方のはC++ですが、Cの方での考え方を書きます。
文字列の中で"$http://"を検索して、
存在しなければなにもしない。
存在すれば、一個ずつずらせばいいわけです。
つまり、文字列を、一個ずらして自分自身にコピーするわけです。
検索には標準関数strstr()を使います。(教科書を見てください)
ずらしてコピーするにはどうしたらいいかな…。
ただのコピーならstrcpy()という関数があるのですが、
こいつは「コピー元とコピー先が同じだった場合、未定義(プログラムとして問題あり)」という制限があります。
だからwhileかdo whileを使えばいいでしょう。
だいたいこんな感じになると思います。
(コンパイルはしてないので自信なしですが)
char *p;
p = strstr(data, "$http://");
if(p){
do{
*p = *(p+1);
}while(*(p+1));
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/02/10 11:41
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- Visual Basic(VBA) 以下のVBAで該当文字列の前後に付与したい。 例 前に付与 abc ユーザーID 12345 後に付 3 2022/04/19 21:50
- C言語・C++・C# C言語の質問です、プログラミング初心者です このような文字列があった場合 "abcdef☆ghijk 4 2022/11/22 10:56
- その他(プログラミング・Web制作) Tを主張Sの前後に文字列を追加したものとし、Tを教えて!gooで削除されないようにできる? 2 2023/02/10 15:35
- その他(データベース) カラム上の重複を削除するクエリを教えてください 3 2022/04/12 14:11
- Visual Basic(VBA) VBA 「,」・空白・カタカナ等の複数条件のマクロ 2 2023/08/23 11:57
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/25 16:07
- Excel(エクセル) Excelについて質問です(ver2019) 1 2023/06/30 21:20
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VxWorks 6.4ソケット接続につい...
-
#define中の#のエスケープ
-
std::map の const 修飾について
-
#defineの使い方について
-
JPEGやPNGが読めるLoadImage関数
-
snprintfが使用できない。
-
C++でShowCursorを使いたい。
-
プログラミング
-
コーディング
-
指定した文字を削除したい
-
uniqueの使い方について
-
#include "fstream.h"
-
途中からMFCを使用したい
-
構造体に決められた文字列を入...
-
VC++で文字列から任意の文字を...
-
平均値を関数を用いて出力した...
-
gccでコンパイル時のエラー
-
switch文のエラーについて
-
mapの初期化
-
winpcapを用いたプログラミング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
なぜ、C++の標準ヘッダをインク...
-
switch文のエラーについて
-
VC++で文字列から任意の文字を...
-
構文エラーが出ているのですが...
-
gccでコンパイル時のエラー
-
空ENTERの判別
-
vectorのイテレータを大小比較...
-
JPEGやPNGが読めるLoadImage関数
-
C++で、テキストファイルを一行...
-
std::wstringのメモリリークに...
-
enumの値から定義名を文字列化...
-
CStringとString
-
#define中の#のエスケープ
-
std::map の const 修飾について
-
#include "fstream.h"
-
_tcscat がうまくいきません(V...
-
C言語のポインターで詰まっている
-
構造体配列のvectorへの変換と...
-
C++での <iostream.h>と<iostre...
-
ヘッダーファイルがインクルー...
おすすめ情報