質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

解決済

()の中にある()の文字列の外側のみを取り出したい

tetsu0415
522644

総合スコア1

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

1回答

0評価

0クリップ

205閲覧

投稿2022/08/04 00:06

string param = "あいう(えお(かき)くけ)こ";

このような文字列があった場合、

えお(かき)くけ

の部分だけを取り出したいのですが
簡単に抽出できる方法はありますでしょうか?

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

Zuishin

2022/08/04 00:13 編集

条件があいまいなので、簡単な方法から難しい方法までどの方法を使えばいいか特定できません。 複数の例や目的を書くのが良いと思います。 カッコの数が決まっているなら正規表現を使うのが手軽でしょうし、場合によっては取り出すのではなく埋め込む方が良いこともあります。
tetsu0415

2022/08/04 00:23

ありがとうございます。 カッコの数は決まっていない想定です。たくさんのカッコが含まれている文字列の中から一番外側のカッコで囲まれている部分だけを取り出したいです。
Zuishin

2022/08/04 00:31 編集

適当にこねくり回すのではなく、明確な言葉を使って事細かに指示するのがプログラミングです。 指示する側が細かい条件を把握できていないのであれば、コンピューターに指示することはできません。 物事を正確に把握して正確に伝える能力が必要とされます。 今のところ、それができているとは言えません。 今ある条件を満たすプログラムを作ることはできますが、それを実際に使おうとすると、別の条件で破綻するでしょう。
SurferOnWww

2022/08/04 00:30

文字 '(' と ')' は ASCII 文字(いわゆる半角英字、Unicode で言うとそれぞれ U+0028 と U+0029)で、文字列の中には必ず '(' と ')' がペアで存在するという条件でいいのですか?
tetsu0415

2022/08/04 00:32

そうですね…
kikukiku

2022/08/04 00:45

上記の例のみ対応であるならば、下記のようなロジックでいけそうですが、 まだまだ条件を付ける必要性を感じます。 1.カウントを0に初期化 2.文字列の先頭から順番に1文字つづ取り出す。 3.(が来たらカウントを+1する。この場所を覚えておく。① 4.カウントが1のときに)がきたらカウントをー1する。この場所を覚えておく。② 5.カウントが1以外のときに)がきあたrカウントを-1する。 6.①から②までの文字列を取り出す。
tetsu0415

2022/08/04 00:56

ありがとうございます。カウントが1と0で囲まれた部分で取り出すっていう感じですかね… 行けそうな気がします。こちらで書いてみようと思います。
SurferOnWww

2022/08/04 01:07

> カウントが1と0で囲まれた部分で取り出すっていう感じですかね… 自力でそのためのコードを書くのではなくて、String クラスに用意されているメソッド、プロパティなどを最大限利用することをお勧めします。具体的には下の私の回答を見てください。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

同じタグがついた質問を見る

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。