C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: 文字列の行数


(過去ログ 75 を表示中)

[トピック内 12 記事 (1 - 12 表示)]  << 0 >>

■44461 / inTopicNo.1)  文字列の行数
  
□投稿者/ gonna (8回)-(2009/12/09(Wed) 19:18:04)

分類:[VB.NET/VB2005 以降] 

文字列の行数を取得するにはどうすればよいでしょうか?
ご教授願います。
VB2008EE
引用返信 編集キー/
■44462 / inTopicNo.2)  Re[1]: 文字列の行数
□投稿者/ επιστημη (2309回)-(2009/12/09(Wed) 19:23:55)
επιστημη さんの Web サイト
> 文字列の行数を取得するにはどうすればよいでしょうか?

文字列に含まれる改行の数を勘定してはいかがでしょう。

引用返信 編集キー/
■44463 / inTopicNo.3)  Re[2]: 文字列の行数
□投稿者/ gonna (9回)-(2009/12/09(Wed) 19:28:27)
No44462 (επιστημη さん) に返信
>>文字列の行数を取得するにはどうすればよいでしょうか?
>
> 文字列に含まれる改行の数を勘定してはいかがでしょう。
>
ありがとうございます。
具体的なサンプルコードを頂けないでしょうか?
引用返信 編集キー/
■44465 / inTopicNo.4)  Re[3]: 文字列の行数
□投稿者/ 北 (47回)-(2009/12/09(Wed) 19:42:00)
No44463 (gonna さん) に返信
> 具体的なサンプルコードを頂けないでしょうか?
http://www.tech-do.com/blog/archives/66
引用返信 編集キー/
■44471 / inTopicNo.5)  Re[1]: 文字列の行数
□投稿者/ nihihi (11回)-(2009/12/09(Wed) 22:06:24)
No44461 (gonna さん) に返信
> 文字列の行数を取得するにはどうすればよいでしょうか?

Dim Line As Integer = 0
Using sr As New StringReader(文字列変数)
    While sr.Peek() <> -1
        sr.ReadLine()
        Line +=1
    End While
End Using

Line が行数

引用返信 編集キー/
■44478 / inTopicNo.6)  Re[2]: 文字列の行数
□投稿者/ こあら (56回)-(2009/12/09(Wed) 22:35:42)
> 文字列変数.Split(改行コード, StringSplitOptions.RemoveEmptyEntries).Length

こんな風には書けませんでしたっけ・・・?あれ?これじゃJavaScript??

引用返信 編集キー/
■44481 / inTopicNo.7)  Re[3]: 文字列の行数
□投稿者/ こあら (57回)-(2009/12/09(Wed) 22:47:34)
もう一個。

> System.Text.RegularExpressions.Regex.Replace(文字列変数, "[^\n]","").Length

う〜ん。発想がヒンコンかぁ。
引用返信 編集キー/
■44490 / inTopicNo.8)  Re[4]: 文字列の行数
□投稿者/ επιστημη (2310回)-(2009/12/10(Thu) 09:21:46)
επιστημη さんの Web サイト
Module Program
  Sub Main()
    Dim input As String = "この文字列は" & Chr(10) & "3行で" & Chr(10) & "構成されています"
    Console.WriteLine( input.Split( New Char() { Chr(10) } ).Length )
  End Sub
End Module

# ...VBわかんねーや...

引用返信 編集キー/
■44493 / inTopicNo.9)  Re[5]: 文字列の行数
□投稿者/ みきぬ (682回)-(2009/12/10(Thu) 10:09:29)
# ネタにつき注意

Module Module1
    Sub Main()
        Dim input As String = "この文字列は" & Chr(10) & "3行で" & Chr(10) & "構成されています"
        Dim filename As String = Path.GetTempFileName
        File.WriteAllText(filename, input)
        Console.WriteLine(File.ReadAllLines(filename).Length)
        File.Delete(filename)
        Console.ReadLine()
    End Sub
End Module

引用返信 編集キー/
■44501 / inTopicNo.10)  Re[3]: 文字列の行数
□投稿者/ 魔界の仮面弁士 (1412回)-(2009/12/10(Thu) 11:59:49)
No44478 (こあら さん) に返信
>>文字列変数.Split(改行コード, StringSplitOptions.RemoveEmptyEntries).Length
> こんな風には書けませんでしたっけ・・・?あれ?これじゃJavaScript??

とりあえず、
 行数 = Split(文字列変数, vbNewLine).Length
でどうでしょう。文字列変数 が Nothing であっても処理できます。


# 改行コードの部分(上記 vbNewLine)は、vbCr や vbLf や vbCrLf を指定することもできます。
引用返信 編集キー/
■44520 / inTopicNo.11)  Re[4]: 文字列の行数
□投稿者/ gonna (10回)-(2009/12/10(Thu) 20:48:16)
皆さんありがとうございます。
今回は魔界の仮面弁士さんの方法を採用させていただきます。
引用返信 編集キー/
■44521 / inTopicNo.12)  Re[4]: 文字列の行数
□投稿者/ こあら (59回)-(2009/12/10(Thu) 21:01:32)
2009/12/10(Thu) 21:03:18 編集(投稿者)
# ネタにつき注意
# Scripting Guy に教えてもらいました

Const adOpenStatic = 3
Const adLockOptimistic = 3
Const adCmdText = &H0001

Set objConnection = CreateObject("ADODB.Connection")
Set objRecordSet = CreateObject("ADODB.Recordset")

strPathToTextFile = "C:\temp\"
strFile = "Test.txt"

objConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                   "Data Source=" & strPathtoTextFile & ";" & _
                   "Extended Properties=""text;HDR=NO;FMT=Delimited"""

objRecordSet.Open "select count(*) from " & strFile, _
                  objConnection, adOpenStatic, adLockOptimistic, adCmdText

Wscript.Echo objRecordSet.Fields.Item(0).Value   

[解決済みチェック付けました]

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -