質問

これは、Javaから移行する人にとっては古典的な.NETの質問でなければなりません。

.NETにはjava.io.StreamTokenizerに直接相当するものはないようですが、JLCAはそれを実装しようとするSupportClassを提供します。 JLCAには、文字列をソースとするTokenizer SupportClassも用意されていると思います。これはStreamTokenizerの派生元だと思いましたが、そうではありません。

ストリームと文字列の両方をトークン化する preferred 方法は何ですか?それともありますか? .Netでストリームはどのようにトークン化されますか? java.io.StreamTokenizerが提供する柔軟性を持ちたいです。何か考えはありますか?

役に立ちましたか?

解決

.NETにはStreamTokenizerと完全に同等なものはありません。単純な場合にはString.Split()を使用できますが、より高度なトークン解析には、おそらく System.Text.RegularExpressions.Regex

他のヒント

コレクションに基づいて文字列を分割する必要がある場合は、System.String.Splitを使用します 特定の文字の

System.Text.RegularExpressions.RegEx.Splitを使用して、ベースに分割します 一致するパターン。

Nextemライブラリにはトークナイザーがあります。ここに例を見ることができます: http://trac.assembla.com/nextem/browser/trunk/Examples/Parsing.n

Nemerleマクロとして実装されていますが、これを記述してC#から簡単に使用できます。

私はそうは思いません。非常に単純なトークン化のためにSystem.String.Split()を見てください。

System.Text.RegularExpressions.Regexにより、より複雑なトークン化を実現できます。

tuPrologをJavaからC#に移植するときに、同等のStreamTokenizerを見つけるという同じ問題がありました。私が知っている限りでは、TextTokenを「ストリーム」として取得するStreamTokenizerの直接変換であるということを書きました。入力目的のため。 tuProlog.NET 2.1のダウンロード(LGPLライセンス)にコードがあるので、お気軽に再利用し、ニーズに合わせて調整します。

文字列をトークン化するには、 string.Split(...)を使用します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top