- ベストアンサー
文字列中からある文字列とある文字列の間にある文字列を取得
ddnp009の回答
- ddnp009
- ベストアンサー率25% (15/58)
区切りは文字か、文字列か、 見つからないときどうするか、など #4さんと同じ感想(仕様があいまい)。 でも面白そうなのでちょっと作ってみました。 C/C++混在してます。ごめん #include <stdio.h> #include <stdlib.h> #include <string.h> int usage(void){ puts("need 3 args.\nUSAGE:"); puts(" 1st. source string."); puts(" 2nd. beforehand charactor."); puts(" 3rd. afterhand charactor."); return EXIT_FAILURE; } char* get_sandwiched_str(const char* src, int before, int after){ char* find_before = strchr(src, before); char* find_after = find_before? strrchr(find_before + 1, after): NULL; if (!find_before || !find_after) return NULL; // if ( find_before >= find_after) return NULL; *find_after = 0x00; return find_before + 1; } int main(int argc, char** argv){ if (argc != 4) return usage(); char* src = new char[strlen(*++argv) + 1]; strcpy(src, *argv); int before = *(*++argv); int after = *(*++argv); char* result = get_sandwiched_str(src, before, after); if (result) printf("'%s'\n", result); else puts("missing."); delete[] src; return 0; }
関連するQ&A
- strchrと同じような機能をする関数を作りたい。
文字列中から指定した文字を探すstrchr()と同じような機能の関数を自分で作りたいと思っています。 最終的には、その指定した文字を別の指定した文字に変換できるような関数にしたいと思っています。 forやwhileを使って文字を探せばいいのではないかと思っているのですが・・・。 アドバイスやヒントがあったらよろしくお願いします。
- 締切済み
- C・C++・C#
- 繰り返し文字検索
strchrを何回か使用して、文字列中の文字を検索したいです。 以下が実行画面 文字列を入力してください。TESTTEEEEEEEEEEEEEEST} 文字を入力してください。T 0 2 0 15 -2686605 以下が実行した関数です。 void sea(const char*str2,int*c){ char *p; while(*p!='\0'){ p=strchr(str2,*c); printf("%d\n",p-str2); str2=p+1; } } char* str2とint *cには、キーボードからそれぞれ、文字列と文字を入力しました。 検索文字の一致した位置の、一つ後ろを指定したいのです。御指摘お願いします。
- ベストアンサー
- 情報工学
- 画面から文字列を取得してその文字列の位置を知る方法
こんばんは。 質問させてください。 画面から文字列を選択して、取得します。(これは出来ました。) その文字列がHTMLソースファイルの どの位置のものか取得する方法はありますでしょうか? ○番目の「こんばんは」を画面から取得した時に 同じ文字列があっても、○番目の位置が取得出来る方法なのですが・・・ ---- <HTML><HEAD></HEAD> <BODY> おはよう、こんばんは。 さようなら、ありがとう。 しつれいしました、おはよう、こんばんは。 こんばんは、さようなら。 さようなら </BODY> </HTML> ----
- 締切済み
- JavaScript
- 文字列中の任意の位置の文字取得
VB6の勉強をしております。 OSはWindowsXPです。 すごく簡単な質問なんですが、C言語のように、文字列中の任意の位置を指定する方法はVB6には無いのでしょうか? 例) C言語:str[1] 添え字で指定出来る VB6:??? 思いつく方法はMidを利用し、任意の位置の文字を取得する方法なんですが、それしか無いのでしょうか? 以上、よろしくお願いいたします。
- 締切済み
- Visual Basic
- 文字列取得
'/path1/path2/file1.txt' '/path1/path2/path3/file2.txt' 上記のようなpathがあった場合にファイル名(拡張子なし)の 文字列を取得したいのですがどのように良いでしょうか? 宜しくお願い致します。 awkで$4と指定すれば「file1.txt」の文字列を取得できるのですが パスの長さが定まっていないため$4ではなく最後の文字と指定する 記号はないでしょうか? echo /path1/path2/file1.txt |awk '{FS="/"; print $4}'
- ベストアンサー
- Solaris系OS
- 文字列を分解したいのですが・・・
VC++初心者です。 ある文字列(数値、数値、数値CRLF数値、数値・・・)のような中からコンマで区切られた数字を取り出したいのですがうまくいきません。 とりあえずはコンマと改行コードの位置だけでも探したいのですがどうやったら良いでしょうか?お知恵を貸してください。 char buffer[64] = 10.52,5.88,4.37(改行コード)6.42,41.91; char* result; int ch1 = "CRLF"; result = strchr(buffer,ch1); int ch2 = "," result = strchr(buffer,ch2); 改行コードは最初の文字列に入ってるはずですが見えないので(改行コード)と入力しました。 よろしくお願いいたします。
- ベストアンサー
- C・C++・C#
- 文字列を削除したい。
Stringの文字列をStringに移し特定の 文字を消したいと思っています。 調べたところdeleteというメソッドで。 開始位置と終了位置を指定すれば 削除できるみたいですが、 文字列を指定してその文字列を削除する、 という事はできますか? お願いします。
- ベストアンサー
- Java
- javascriptでクエリ文字列を取得できますか?
javascriptでURLの末尾に付与した?以降の文字列、いわゆる"クエリ文字列"を取得する事は出来ますか? 出来る場合、構文を教えて下さい。
- ベストアンサー
- JavaScript
- 特定の文字列が一致する行から、文字列を抽出する方法
ファイルから、特定の文字列を検索し、その文字列に対応する文字列を取得したいのですが、どなたか方法を教えていただけないでしょうか? 処理: test.txt中に以下の文字列が記載されています。 ----- TEST011:FILE00 TEST01:FILE01 TEST02:FILE02 XTEST01:FILE01 XTEST02:FILE02 ----- test.txtから、TEST01に対応する文字列FILE01を取得したいです。 当初、strchrを利用すれば良いかと考えていたのですが、 TEST011の行が先に抽出されてしまい、うまくいきません。 どなたか解決方法を教えていただけないでしょうか。
- ベストアンサー
- C・C++・C#
お礼
すいません・・大変すいません・・汗 ご指摘のとおり文字列です汗