全ては時の中に…

システム開発全般の技術や開発に役立つツール、プログラミングのサンプルを紹介しています。

文字列

【VB.NET】StringReaderを利用して文字列を読み込む

以前の記事「【VB.NET】別のアプリケーションでコンソール出力した内容を取得する」に関連した内容です。
String型の変数に格納されている文字列が非常に長い場合等、ファイルと同様の扱いをしたいことがあります。
このような場合の処理方法について説明します。
ファイルと同様に文字列を取得するには、StringReaderを利用します。

以下、サンプルです。
続きを読む

【VB.NET】PrintDocumentを利用して文字列を印刷する

記事「PrintDocumentを利用して印刷する」の続きで、文字列を印刷する方法について説明します。
文字列を印刷する場合、PrintEventArgsのGraphicsオブジェクトのDrawString()メソッドを利用します。
PrintEventArgsは、PrintDocumentのPrintPageイベントの引数eとなっています。
そのため、PrintPageイベントを利用することで簡単に文字列を印刷することができます。

以下、サンプル。
続きを読む

【VB.NET】文字列を数値に変換する(TryParse)

文字列を数値に変換するには、Parse()メソッドを利用します。
しかし、Parse()メソッドは、以下の場合に例外が発生してしまいます。
 1.変換対象の文字列が正しい形式ではない場合
 2.値が変換後の数値型の範囲(最小値〜最大値)の範囲外の場合
例外を処理するのは、処理の負荷が高いので即時性を求められるアプリケーションでは、パフォーマンスが低下してしまいます。
そのため、以前の記事「【VB.NET】指定した文字が数字かどうか判定する(IsDigit, IsNumber, IsNumeric) 」で紹介した方法を利用して事前に文字列が数値がどうかを確認して例外が発生しないようにする必要がありました。

.NET Framework 2.0以降では、上記の問題を解決できるTryParse()メソッドが追加されています。
今回は、TryParse()メソッドについて説明します。

TryParse()メソッドは、Parse()メソッドとは異なり、変換に失敗しても例外を発生させません。変換が成功した場合はTrueを、失敗した場合はFalseを戻り値として返します。
変換後の値は、第2引数に指定した変数に格納されます。

以下、サンプル。
続きを読む

【VB.NET】数値を通貨型の文字列に変更する

帳票に印字する際、決められた枠に1文字ずつ表示する場合があります。
特に名前や暗証番号、金額の記載等でこのような表示を要求されることがあります。
名前や暗証番号等のように左詰めとする場合は、単純に文字列の先頭から処理することで実現できます。
しかし、金額を扱う場合にこのような要望がある(「\100」や「-\100」を1文字ずつ枠内に収める)と、以下のような対応が発生することがあります。
 ・マイナス符号を"▲"に変えて欲しい。
 ・「\」を最上位桁の左側の枠に記載して欲しい。

このような要望があった場合、金額を数値として扱うよりも、文字列として扱う方がが楽に操作することができます。

以下、サンプルです。
続きを読む

【PowerShell】文字列内で変数を参照する

PowerShellの変数を文字列に組み込む場合の方法について説明する。
変数を文字列に組み込む方法としては、以下の方法がある。
 1.文字列にキャストした状態で"+"演算子を使って文字列を連結する。
 2.「"」(ダブルクォーテーション)で囲った文字列中に変数を指定する。

1の方法は、以下のような連結方法を指す。

 PS C:\> $Val = "abc"
 PS C:\> [String]"Val = " + $Val

2の方法は、以下のように文字列内に組み込む。

 PS C:\> $Val = "abc"
 PS C:\> "Val = $Val"
続きを読む

【VB.NET】指定した文字が数字かどうか判定する(IsDigit, IsNumber, IsNumeric)

指定した1文字が数値かどうか判定するには、Charクラスに用意されている以下のメソッドのどちらかを利用する。
 ・IsDigitメソッド
 ・IsNumberメソッド
この2種類のメソッドの違いは、数字として認識する文字の種類が異なることである。
また、IsNumeric関数でも数値かどうかを判定することができる。
(IsNumeric関数は、データ型に関係なく判定することができる)
各メソッドが、数字と認識する文字は、以下の通り。
 1.IsDigit、IsNumeric
  ・アラビア数字(半角の0〜9と全角の0〜9)
 2.IsNumber
  ・アラビア数字(半角の0〜9と全角の0〜9)
  ・ローマ数字(顱像と機銑宗
  ・丸数字( 銑粥
  ・Unicodeの環境依存文字
   (㈠〜㈩、⑴〜⒇、❶〜❿、➀〜➉、㊀〜㊉ 等)

以下のサンプルを実行すると上記の確認ができる。
(ざっとしか結果をみていないので、もう少し種類があるかも…)
続きを読む

【PowerShell】コマンドで四則演算を行う

PowerShellを利用している場合、コマンドとして四則演算(加減乗除)が行える。
Excel等と同じで、「1 + 1」のように入力すると、次の行に計算結果が表示される。

以下、サンプル。

PS C:\> #四則演算
PS C:\> 2 + 3
5
PS C:\> 2 - 3
-1
PS C:\> 2 * 3
6
PS C:\> 2 / 3
0.666666666666667

上記の演算以外にも、除算の余りを計算することも可能である。
この場合には、以下のように%を演算子として利用する。
続きを読む

【PowerShell】変数の利用

PowerShellでは、変数が利用できる。
変数を利用することにより、一連の処理の流れをスクリプトとして記述することができる。

PowerShellの変数の特徴として、以下がある。
 ・変数は、「$変数名」のように記述する。
 ・他のスクリプト言語同様、変数宣言は必要ない。
 ・データ型は、オブジェクト型である。
  →どのような値でも代入できる。

以下、サンプル。
続きを読む

【VB.NET】文字列が特定の文字列で始まっているかどうか確認する

VB.NETで文字列が特定の文字列で始まっているかどうかを確認する方法について説明する。

StringクラスのStartsWith()メソッドを利用することで確認できる。
以下、サンプル。
続きを読む

【VB.NET】文字列の前後から空白(スペース)を除外する

VB.NETで文字列から空白を除外する方法について説明する。
空白を除去するためには、Trimメソッドを利用する。

Trimメソッドに引数を指定すると、文字列の前後からTrimメソッドの引数に指定した文字列を除去することもできる。

以下、サンプル。
続きを読む

【SQL Server】文字列を扱う場合の注意点

SQL Serverで文字列を扱う場合の注意点がある。
エンコード形式によって、テーブルの項目定義に指定するデータ型や文字列を扱う際の囲み文字を変える必要がある。

【テーブルの項目定義】
 ・データ型は、nchar, nvarchar, nvarchar(max), ntextのいずれかを指定する。
  →ntextは、将来的になくなる可能性があるので、nvarchar(max)の利用を推奨している。
続きを読む

【VB.NET】文字列から特定の文字を検索する

文字列から特定の文字があるかどうかを検索するためのメソッドとして、IndexOf()メソッドが用意されている。このIndexOf()メソッドを利用すると文字列の先頭から指定した文字列が存在するか検索し、最初に見つかった位置を返す。

以下、サンプル。
続きを読む

【VB.NET】StringBuilderの利点

System.TextにあるStringBuilderクラスの利点について説明する。
Stringと異なり、StringBuilderを利用すると文字列連結時にオブジェクトの再作成を行わないため、高速な文字列操作が行える。

そのため、文字列の内容が頻繁に変更される場合には、String型ではなくStringBuilder型の変数を定義するよう心掛けると良い。

以下のサンプルを実行して、処理時間の違いを体験してみると違いがはっきりする。
続きを読む

【SQL】特殊な文字(シングルクォーテーション等)を含む文字列を扱う

SQL文に指定する文字列にシングルクォーテーション(')のような特殊な文字が含まれている場合、通常の文字列指定ではエラーが発生する。
これを回避する方法について説明する。

通常の方法で'を含む文字列を指定した場合
SELECT 'I'm From Japan' FROM ADDRESS

このSQLでは、Iのみが有効な文字列として扱われる。
m From Japan'は無効な文字列として扱われるため、結果としてSQL構文エラーが発生する。(ORA-01756: 引用符付き文字列が正しく終了していません)これを、構文エラーにならないようにするためには、以下のいずれかの方法を利用する必要がある。
続きを読む
Recent Comments
Recent TrackBacks
Profile

ふりっつ

システムエンジニア
取得資格:
 ソフトウェア開発技術者
 MCP(70-290)
メールマガジン:
 【出張版】全ては時の中に…

メールマガジン
メルマガ登録・解除
【出張版】全ては時の中に…
 
 powered by メルマガスタンドmelma! トップページへ
ブログランキング
アクセス解析出会い




にほんブログ村 IT技術ブログへ

にほんブログ村 IT技術ブログ プログラム・プログラマへ

Amazon
スポンサー
HonyaClub.com

PCDEPOT WEB本店/OZZIO

FUJIFILMMALL(フジフイルムモール)

IT 関連資格ならクラムメディア問題集

  • ライブドアブログ