• ベストアンサー

文字列の最後の文字取得

またまたお世話になります。 Microsoft Visual Basic 2008 Express Editionを使ってます。 MyFolder.Description = "フォルダを指定してください" MyFolder.RootFolder = System.Environment.SpecialFolder.Desktop MyFolder.SelectedPath = "C:\Program Files" If  MyFolder.ShowDialog() = DialogResult.OK  Then   If  ???= "\"  Then    NewMyFolder = MyFolder.SelectedPath  &  "test"   Else    NewMyFolder = MyFolder.SelectedPath  &  "\test"   End If End If MyFolder.Dispose() MkDir(NewMyFolder)←? Label2.Text = NewMyFolder ダイアログで選択してそこにtestフォルダを作成したいのですが。。。 MyFolder.SelectedPathが "C:\Program Files"の場合(例) "D:\"の場合(例) 文字列の最後の文字を取得したいのですが ???の部分がわかりません。 Rigthは使えませんでした。 ???の部分を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

If  MyFolder.ShowDialog() = DialogResult.OK  Then   dim ss as String = MyFolder.SelectedPath   if ss.substring( ss.length -1 ) = "\" then     NewFolder = ss + "\test"   else     NewFolder = ss + "test"   end if End If といった具合で ... StringクラスのSubstring以外に VisualBasic名前空間のRightを使うなら Imports Microsoftとコードの冒頭で宣言して if VisualBasic.Right( ss, 1 ) = "\" then と記述するか if Microsoft.VisualBasic.Right(ss,1) = "\" then メソッドを完全修飾名で記述します

q-i-p
質問者

お礼

ありがとうございます。 まだまだ勉強不足でした。。。 教えていただいたコードで完成させることができそうです。^^

すると、全ての回答が全文表示されます。

その他の回答 (2)

回答No.3

パスの作成に関する文字列操作であれば、System.IO.Path.Combineメソッドを使ったほうが ベターだと思います。 http://msdn.microsoft.com/ja-jp/library/system.io.path.combine.aspx あと、2008であればUsingをつかえば、Disposeを気にしなくても良いです。 http://msdn.microsoft.com/ja-jp/library/htd05whh.aspx ディレクトリ作成は、MkDirよりもSystem.IO.Directory.CreateDirectoryを使うとか。 http://msdn.microsoft.com/ja-jp/library/system.io.directory.createdirectory(VS.80).aspx

q-i-p
質問者

お礼

Usingやディレクトリ作成の方法も教えていただいてありがとうございます。^^ そういったやり方もあるのですね。。。 しっかりと勉強させていただきました。 ご教授ありがとうございます。

すると、全ての回答が全文表示されます。
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

別の手段として StringクラスのLastIndexOfを使う手もあります LastIndexOfやIndexOfは 0ベースの値を返すので少々注意が必要です 0ベースとは 1番目が0、2番目が1、3番目が2といった具合になります 『C:\』の場合の『\』は2 『C:\work\Test』の場合は 7 ということになります これを使って if ss.LastIndexOf( "\" ) = ss.Length - 1 then といった具合で判定できます

q-i-p
質問者

お礼

また違ったやり方があるのですね。 状況によって使い分けてみます。 ご教授ありがとうございます。

すると、全ての回答が全文表示されます。

専門家に質問してみよう