2012-01-20 4 views
6

イメージファイル名にSubstring関数を実行しようとしています。 名前の形式は "images.png"です。サブストリングin VB

私はSubstringを使ってみましたが、最初の文字を "n"文字まで指定して機能を実行することができました。

このようにSubString(1,6)

しかし、私が望むのは、.の前に任意の文字を取得することです。私は "画像 "を取得する必要

Substring機能した後:" images.PNGです" 例えば

。あなたが使用することができ、このような文字列操作のための一般的に

答えて

8

あなたはSubstringと組み合わせてLastIndexOfを使用できます。

クラスものの
myString.Substring(0, myString.LastIndexOf('.')) 

は、パスに渡されたディレクトリを持っているかどうかにかかわらず、強く型付けされた方法でこれを実行するメソッドを持っている:

Path.GetFileNameWithoutExtension("images.png") 
3

mystring.Split("."c)(0) 

しかし、具体的拡張子のないファイル名を取得するために、それはこの方法を使用するのが最善です:

System.IO.Path.GetFileNameWithoutExtension

+1

""キャラクター。 –

2
string s = "images.png"; 
Console.WriteLine(s.Substring(0, s.IndexOf("."))); 
5

どうPathクラスの使用方法について。

Path.GetFileNameWithoutExtension("filename.png"); 
+0

あなたはそれに私を打つ。 :)私は**巨大な**プロポーザルは常に、ジョブの適切なクラスを使用し、すでに存在するものを再開発しようとしていないです。 VB6には、この関数を実行する "Title"というFileSystemObjectのプロパティがあります。私は実際には、私が習慣の生き物なので、.NETのFileInfoクラスで "TITLE"と呼ばれる拡張メソッドとして上記を使用します。リンクについて 機能タイトル(System.IO.FileInfoとしてByVal FI) 戻りSystem.IO.Path.GetFileNameWithoutExtension(fi.FullName) エンド機能 –