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

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

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

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

Visual Studio

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

Q&A

解決済

2回答

9242閲覧

C# シングルクオーテーションで囲まれた文字列を抽出したい

jonrock

総合スコア18

C#

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

Visual Studio

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

0グッド

0クリップ

投稿2020/07/29 03:58

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

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

list[0] = ”えお”
list[1] = "くけ"

このように、配列またはリストなどで、シングルクオーテーションで囲まれた文字列のみを取得したいのですが、
簡単に抽出できる方法はありますでしょうか?

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

正規表現を使った方法です。
肯定先、後読みで抽出すると「かき」も含まれてしまうので、
抽出してからシングルクォーテーションを除去するというちょっと面倒なことをやっています。

C#

1static void Main(string[] args) 2{ 3 string pattern = "'[^']+'"; 4 string param = "あいう'えお'かき'くけ'こ"; 5 MatchCollection matches = Regex.Matches(param, pattern); 6 string[] strs = matches.Cast<Match>().Select(x => x.Value.Replace("'", "")).ToArray(); 7 foreach (string s in strs) 8 { 9 Console.WriteLine(s); 10 } 11}

投稿2020/07/29 04:47

yureighost

総合スコア2183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

FKD

2020/07/29 05:46

シングルクォーテーション内の抽出は、パターンを"'([^']+)'"としてmatches[n].Groups[1]から取得する方法もあります。
jonrock

2020/07/29 06:16

回答や、コードの提示まで、本当にありがとうございます。 示していただいた方法で、意図した取得ができるようになりました。 FKDさん、コメントありがとうございます。 Groups[1] で取得する方法は知りませんでした。 取得の部分は、matches[n].Groups[1] で行おうと思います。 お二方とも、回答ありがとうございました。
guest

0

シングルクオーテーション文字で文字列を分解して、一つおきに取ればいいのでは。

投稿2020/07/29 04:02

y_waiwai

総合スコア88042

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jonrock

2020/07/29 06:10

回答、ありがとうございます。 こんな簡単な方法で良かったんですね。 確かにこれで取得できそうです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問