DOBON.NET DOBON.NETプログラミング掲示板過去ログ

改行位置が取得できない

環境/言語:[VB.NET]
分類:[.NET]

初心者のHeppokoです。宜しくお願いします。

【やりたい事】クリップボードから取得した文字列の頭から改行までを取得し
        myText02へ格納する。
       
【私の失敗】

…略…
Dim cr As String
cr = vbCrLf
'
myText01 = … 略 …
myText02 = myText01.Substring(0, myText01.IndexOf(cr))

※ myText01の取得は問題ありませんが、myText02は空っぽです。
 また、myText01.IndexOf(cr)の値は 1 になってしまいます。

皆様ご指導宜しくお願いします。
  • 題名: Re[1]: 改行位置が取得できない
  • 著者: java.lang.Nullpo
  • 日時: 2004/09/16 14:38:29
  • ID: 6211
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
■No6209に返信(Heppokoさんの記事)
> 初心者のHeppokoです。宜しくお願いします。
> ※ myText01の取得は問題ありませんが、myText02は空っぽです。

MyText01の取得に問題がないのならば、できるはずですが?

    Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
        Dim nString1 As String 
        Dim nString2 As String

        nString1 = "Assembler" & vbCrLf & _
                   "Basic"     & vbCrLf & _
                   "C"         & vbCrLf & _
                   "C++"       & vbCrLf & _
                   "C#"        & vbCrLf & _
                   "Cω"       & vbCrLf & _
                   "Delphi"

        nString2 = nString1.Substring(0, nString1.IndexOf(vbCrLf))

        MessageBox.Show(nString2)
    End Sub


>  また、myText01.IndexOf(cr)の値は 1 になってしまいます。

これが気になりますね。
見つからなかった場合は「-1」になるはずですから。


> Dim cr As String
> cr = vbCrLf

定数なのに変数に置き換えるのは、あまりよろしくないですね。
別名にしたければ、Constを使うべきです。
■No6209に返信(Heppokoさんの記事)

> myText01 = … 略 …
ここに問題があるのかなぁ。

myText01 = CType(Clipboard.GetDataObject().GetData(DataFormats.StringFormat), String)

として、myText02を Heppokoさんと同じように、
myText02 = myText01.Substring(0, myText01.IndexOf(cr))

としても、私の方では問題なく「初めの改行位置」までの文字列を持ってこれましたが。


実行結果:-----------------------------------------------------------------

 クリップボードに「"Java" & \n …略… \n "Z80ニーモニック"」の文字列をコピー
 実行すると、「Java」という文字がMessageBoxに表示される。

-------------------------------------------------------------------------

# 単に、クリップボードの初めの位置に改行が入ってるだけだったりして。
■No6212に返信(java.lang.Nullpoさんの記事)
> ■No6209に返信(Heppokoさんの記事)

java.lang.Nullpoさん感謝です!

『単に、クリップボードの初めの位置に改行が入ってるだけだったりして。』
がヒントになりました。クリップボード内容自体には始めに改行入っていません
でしたが、クリップボード内容取得後に加工して頭の部分を切り詰めたりした
際に改行コードが入っていたようです。

お恥ずかしい結末です。 今後とも宜しくお願いいたします。

From Heppoko
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板