visual studio 2005 C#で
指定文字数による文字列分割をしたいのですが
何とか正規表現で一発で書けないかと考えております。
指定文字数による文字列分割は、ちょっと言い方が分からないので、下の例をみていただければ、と思います。
例えば指定文字数が2文字の場合
"あいうえお"を以下のような配列で取得したいです。
[0]"あい"
[1]"いう"
[2]"うえ"
[3]"えお"
例えば指定文字数が3文字の場合
[0]"あいう"
[1]"いうえ"
[2]"うえお"
これを
[0]"あい"
[1]"うえ"
というような分割はできるのですが、上記のような重複した感じでの取得ができません。
MatchCollection mc = Regex.Matches("あいうえお", "..");
ちょっと言い方が下手で分かりにくいかもしれませんが、よろしくお願いいたします。
No.3ベストアンサー
- 回答日時:
.NETの現行の正規表現の仕様では多分できません。
というのも、たとえば(先頭から)2文字マッチさせると注目点は
マッチしただけ移動しますが、要求されている動作では注目点は1文字しか
移動してはいけないことになるからです。
Perl6で導入が予定されている :ov (:overlap) 修飾子があれば
お望みの動作ができるかもしれません。
参考URL:http://svn.perl.org/perl6/doc/trunk/design/syn/S …
No.2
- 回答日時:
これってむしろsubstringでやった方がいいんじゃないかと思ったりw
ありがとうございます。
今組んでいるプログラムの方ではsubstringで実装したいと思います。
ただ、正規表現で表現できるかどうかは気になりますので、引き続き掲示とさせていただきます。
No.1
- 回答日時:
下記のように行えば言っているとおりの実装が可能ですが?
正規表現を使ってという方法は思いつきません。
string a="あいうえお"; //対象の文字列
int b=2; //指定文字数
string[] c= new string[a.Length-(b-1)]; //格納用配列
for(int i= 0;i<a.Length-(b-1) ;i++)
{
c[i] = a.Substring(i,b);
}
ありがとうございます。
仰るとおりfor文等でやった方がよさそうですね。
「これって正規表現で一発でいけるのかな?」と思い立って、質問させていただいた次第です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA初心者です 検索した数字の行に色をつける 5 2023/02/13 14:22
- Excel(エクセル) LEFT関数で文字数を指定しないで取りだす方法 7 2023/06/30 09:49
- PostgreSQL 数値が定期的にあらわれる文字列から、いくつめに出現した数値が指定して切り出したい 1 2023/06/08 13:12
- C言語・C++・C# C言語の質問です、プログラミング初心者です このような文字列があった場合 "abcdef☆ghijk 4 2022/11/22 10:56
- JavaScript javascriptで文字分割は、 split() などメソッド不要??? 4 2023/02/06 22:50
- Excel(エクセル) エクセルで重複データから重複を削除して指定の列に抽出したい 11 2022/05/11 11:26
- Excel(エクセル) Excelの空文字判定について 7 2023/01/06 13:25
- 統計学 χ2検定とFischerの直接確率検定の使いわけ 8 2023/02/02 00:09
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
%dなどの違い
-
TCL言語で文字列検索方法を教え...
-
プログラムによく出てくるst...
-
C#でstringをポインタとして渡す
-
_tcscpy_s(wcscpy_s)の第二引数...
-
VB6.0でのバイナリデータの扱い...
-
char型配列の最大要素数
-
Cで二次元配列の読み込み
-
C++で入力した文字列から数字を...
-
シリアル通信で0x00を送信した...
-
VBA-DLLの引数受け渡しについて
-
sprintf関数での文字列変換につ...
-
アルファベットをカウント、
-
AnsiStringについて
-
C言語についてです学籍番号、名...
-
[Excel VBA]デフォルトプロパティ
-
構造体→文字列→構造体 をする方法
-
PIC18F26K22でsscanf関数を使い...
-
16進数を2文字ずつ配列に格納し...
-
こんなことって可能なのですか...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C++で入力した文字列から数字を...
-
nullと""、\\0とEOFの違いにつ...
-
プログラムによく出てくるst...
-
%dなどの違い
-
WSH(VBS)でJSONの文字列を読み...
-
TCL言語で文字列検索方法を教え...
-
C#でstringをポインタとして渡す
-
16進数を2文字ずつ配列に格納し...
-
_tcscpy_s(wcscpy_s)の第二引数...
-
C++で文字列の右端から特定の文...
-
シリアル通信で0x00を送信した...
-
VBA-DLLの引数受け渡しについて
-
数字の入った配列をファイルへ...
-
c#で他のアプリの文字入力フォ...
-
構造体→文字列→構造体 をする方法
-
Shift_JIS(16進)を文字に変換す...
-
バイナリファイル中の日本語文...
-
C言語の課題で困っています;
-
[C++]WCHARの1文字目しか表示で...
-
VB6.0でのバイナリデータの扱い...
おすすめ情報