
文字列から指定した文字でデータを区切る関数strtokがC言語にはある
これに相当するC#の関数は何か
例えばCでは以下のように書く。
chardata1[]= " 123 , 456 Yamada " ;
char*token ;
strtok( data, " ," ) ; /* スペースとカンマを区切りに文字列を抽出 */
token = strtok( str, " ." );
printf(" token chat = %s\n", token ) ;
while ( token != NULL ) {
token = strtok( NULL," ." );
if ( token != NULL ) printf(" token chat = %s\n", token ) ;
}
これに相当するc#のSplit関数を使用すると
不要な空白を取り出しているようである
知っている方がおりましたら、教えて下さい。
No.1ベストアンサー
- 回答日時:
strtokの第二引数に同じ値を与え続けるのであれば,StringのSplitメソッドがほぼ同じでしょう。
MSDN: String.Split メソッド (Char[]) (System)
http://msdn.microsoft.com/ja-jp/library/b873y76a …
細かく動作をあわせるなら,
s.Split(' ', ',').Where(v => v != "").ToArray()
のように,空の要素を排除しないといけませんが。
例示のように初回と二回目で異なる値を与えるのであれば,正規表現に頼る事になると思います。
MSDN: Regex クラス (System.Text.RegularExpressions)
http://msdn.microsoft.com/ja-jp/library/system.t …
ただ,例示の場合であればStrnig.IndexOfAnyとString.Substringを使って分割した方が正規表現を考えるより楽だと思います。
MSDN: String.IndexOfAny メソッド (Char[]) (System)
http://msdn.microsoft.com/ja-jp/library/11w09h50 …
MSDN: String.Substring メソッド (System)
http://msdn.microsoft.com/ja-jp/library/system.s …
回答をいただき、ありがおうございます。
C言語でscanfに対応する関数はJAVAとC#では何かということを考えてました。
処理内容は
1.1行分読み込んで
2.区切り文字で分解して
3.変数に変換する
ということになった。
JAVAではStringTokenizerを使えばよいとわかりました。
C#でSplitを使用すると、空行が入ることで、質問したわけです。
空行を除いて文字列を抽出できればと考えたわけです。
Splitの第2パラメタに「StringSplitOptions.RemoveEmptyEntries」を指定すればいいと分かりました。
これで問題解決です。
回答をいただき、ありがおうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
0歳児の指しゃぶりに関して
-
Excel : OpenTextメソッドが正...
-
java 次の機能を有するメソッド...
-
FEM解析の読み方は?
-
【sendkeysメソッドが動かずに...
-
Excel VBA シェイプの原型のサ...
-
ODBCでMoveNextがうまく動作し...
-
JSPで<SELECT>の中にDBから持っ...
-
エクセルVBAで、条件に一致する...
-
C#SundPlayerで同期再生が再生...
-
javascriptからjavaを呼び出したい
-
Excel2007、pdfで保存範囲を指...
-
エクセルVBAで、ユーザーフォー...
-
final修飾子を使っているのに、...
-
InetAddress#getHostNameについ...
-
エクセルVBAの不思議な挙動?
-
DAOのExcelVBAにてAccessのデー...
-
Eclipseで呼び出し元参照をしたい
-
メソッドをstaticにする、しな...
-
javaについて プログラミング ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAで、条件に一致する...
-
JSPで<SELECT>の中にDBから持っ...
-
javascriptからjavaを呼び出したい
-
DataGridViewでセルクリックイ...
-
配列のメソッド
-
final修飾子を使っているのに、...
-
VBPをダブルクリックするとたま...
-
boolean型のフィールドとゲッタ...
-
エクセルVBAにおけるON TIMEメ...
-
0歳児の指しゃぶりに関して
-
mainメソッドのthrows節で設定...
-
VBA コピーが出来ません…!
-
CALLされていないメソッドを見...
-
PDFファイルから別ウィンドウで...
-
eclipse-Tomcatでのデバッグに...
-
【sendkeysメソッドが動かずに...
-
コマンドプロンプト実行後に画...
-
Labelコントロールに数字を代入...
-
ウィンドウを最前面にできません
-
エラーの意味を
おすすめ情報