tagCANDY CGI VBレスキュー(花ちゃん) - 複数行のテキストボックスの空白行を削除する(VB.NET) - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
複数行のテキストボックスの空白行を削除する(VB.NET)
元に戻る スレッド一覧へ 記事閲覧
このページ内の検索ができます。(AND 検索や OR 検索のような複数のキーワードによる検索はできません。)

複数行のテキストボックスの空白行を削除する(VB.NET) [No.233の個別表示]
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
日時: 2013/01/30 23:06
名前: VBレスキュー(花ちゃん)

***********************************************************************************
* カテゴリー:[テキストボックス][][]                                              *
* キーワード:複数行テキストボックス,空行,空白の行,連結,空行を削除,              *
***********************************************************************************
タイトル : 複数行のテキストボックスの空白行削除の仕方
記 事 No : 8796   [関連記事]
投 稿 日 : 2009/03/10(Tue) 23:58
元質問者 : そら  

タイトル : VBで空白行を削除する方法
記 事 No : 9008
投 稿 日 : 2009/05/24(Sun) 23:52
元質問者 : 山広  

テキストボックスに6行の文字列があり、その中の2行目と6行目は空白の行となっています。
いわゆる歯抜け状態になっているのですが、その空白の行を削除して、歯抜け状態を無くし、
全部で4行の文字列にしたいのですが、VBでのやり方が分かりません。
-----------------------------------------------------------------------------------
記事No :9015
投稿日 :2009/05/25(Mon) 15:41
回答者 :魔界の仮面弁士  
-----------------------------------------------------------------------------------
# 空行が連続した場合にも対応できている…と思う。

Imports System.Text.RegularExpressions
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button1.Click
   Dim wk As String
   wk = "1. あいうえお" & vbCrLf & vbCrLf
   wk &= "2. かきくけこ" & vbCrLf
   wk &= "3. さしすせそ" & vbCrLf & vbCrLf & vbCrLf & vbCrLf
   wk &= "4. たちつてと" & vbCrLf & vbCrLf
   wk &= "5. なにぬねの" & vbCrLf
   wk &= "6. はひふへほ" & vbCrLf & vbCrLf
   wk &= "7. まみむめも" & vbCrLf & vbCrLf
   TextBox1.Text = wk
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button2.Click
  TextBox1.Text = Regex.Replace(TextBox1.Text, "(" & vbNewLine & "){1,}", vbNewLine)
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button3.Click
  TextBox1.Text = Regex.Replace(TextBox1.Text, "(" & vbNewLine & ")+", vbNewLine)
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button4.Click
  TextBox1.Text = TextBox1.Text.Replace(vbLf & vbCr, "")
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button5.Click
  TextBox1.Text = Replace(TextBox1.Text, vbLf & vbCr, "")
End Sub
End Class

   上記実行図 1                上記実行図 2
メンテ

Page: 1 |

RichTextBox内の空白行の削除と挿入方法(VB.NET)  (No.1の個別表示) [スレッド一覧へ]
日時: 2013/01/30 23:08
名前: VBレスキュー(花ちゃん)

***********************************************************************************
* カテゴリー:[リッチテキストボックス][][]                                        *
* キーワード:リッチテキストボックス,空行,空白の行,連結,空行を削除,空行を挿入     *
***********************************************************************************
'==================================================================================
'投 稿 日:2013/01/28
'投 稿 者:VBレスキュー(花ちゃん)
'タイトル:RichTextBox内の空白行の削除と挿入方法
'動作確認:WindowsVista/7 VB2010(VS2010 Pro) Framework 4 / ターゲットCPU:X86 IE 8.9
'[Option Compare Text][Option Explicit On][Option Infer On][Option Strict On]で設定
'==================================================================================
テキストボックスの場合は、下記の URL に記載の方法で、できるのですが、RichTextBox
(リッチテキストボックス)の場合は、改行コードが、vbLf なのでそのままのコードでは
できません。
http://hanatyan.sakura.ne.jp/patio/read.cgi?no=233

下記のように変更して下さい。
Private Sub Button1_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button1.Click
   Dim wk As String
   wk = "1. あいうえお" & vbCrLf & vbCrLf
   wk &= "2. かきくけこ" & vbCrLf
   wk &= "3. さしすせそ" & vbCrLf & vbCrLf & vbCrLf & vbCrLf
   wk &= "4. たちつてと" & vbCrLf & vbCrLf
   wk &= "5. なにぬねの" & vbCrLf
   wk &= "6. はひふへほ" & vbCrLf & vbCrLf
   wk &= "7. まみむめも" & vbCrLf & vbCrLf
   RichTextBox1.Text = wk
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button2.Click
   RichTextBox1.Text = Regex.Replace(RichTextBox1.Text, "(" & vbLf & "){1,}", vbLf)
End Sub

Private Sub Button3_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button3.Click
   RichTextBox1.Text = Regex.Replace(RichTextBox1.Text, "(" & vbLf & ")+", vbLf)
End Sub

Private Sub Button4_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button4.Click
'空行を1行追加する場合
   RichTextBox1.Text = Regex.Replace(RichTextBox1.Text, "(" & vbLf & ")+", vbLf)
   RichTextBox1.Text = RichTextBox1.Text.Replace(vbLf, vbLf & vbLf)
End Sub

'クリックの都度空行を1行づつ増やしたい場合は、現在空行がどのようになっているか調べて
'それに対して、1行追加する必要があるので下記のようにしないと。
'もっと簡単な方法があるかも知れませんが、今はこれしか思いつきません。

Private LfCount As Integer = 0
Private Sub Button5_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button5.Click
   Dim lfKey As String = vbLf
   For i = 0 To LfCount
      lfKey &= vbLf
   Next
   '一旦空行を削除する
   RichTextBox1.Text = Regex.Replace(RichTextBox1.Text, "(" & vbLf & ")+", vbLf)
  '指定行数分空行を追加する
   RichTextBox1.Text = RichTextBox1.Text.Replace(vbLf, lfKey)
   LfCount += 1
End Sub

上記実行結果 http://hanatyan.sakura.ne.jp/patio/upl/1256650298-3.gif



尚、リッチテキストボックスで段落(行間間隔を設定)を設定するのちょっと厄介です。
  http://www.hanatyan.sakura.ne.jp/samplepic/vb6_410.htm
  http://www.hanatyan.sakura.ne.jp/samplepic/vb8_145.htm


メンテ

Page: 1 |

 投稿フォーム               スレッド一覧へ
題  名 スレッドをトップへソート
名  前
パスワード (記事メンテ時に使用)
投稿キー (投稿時 投稿キー を入力してください)
コメント

   クッキー保存   
スレッド一覧へ