mori– Author –
-
C++樹林
【C++】std::stringの文字数を取得する.size()と.length()の使い方
はじめに C++でstd::stringを扱う際、その文字列に何文字含まれているかという「長さ」を取得したい場面は頻繁にあります。 この目的のために、std::stringクラスには .size() と .length() という2つのメンバ関数が用意されています。この記事では、これ... -
C++樹林
【C++】std::stringの文字列を空にする.clear()の使い方
はじめに C++でstd::stringを扱う際、ループ処理の中で同じstring変数を再利用する前など、「文字列の中身を一旦すべて削除して、空の状態に戻したい」という場面があります。 この目的のために、std::stringクラスには .clear() というメンバ関数が用意さ... -
C++樹林
【C++】std::stringが空かどうかを判定する.empty()の使い方
はじめに C++でstd::stringを扱う際、ユーザーからの入力が空だった場合や、処理の途中で文字列が空になったかどうかを判定したい場面は頻繁にあります。 この判定には、.empty() というメンバ関数を使うのが、最もシンプルで推奨される方法です。.empty()... -
C++樹林
【C++】std::stringをC言語関数(printf等)で使う方法 (.c_str, .data)
はじめに C++でプログラミングをする際、printfやmemcpy、あるいは古いライブラリの関数など、引数としてC言語スタイルの文字列(終端NULL文字 (\0) で終わる char 配列へのポインタ)を要求するものを使いたい場面が時々あります。 しかし、C++のモダンな... -
C++樹林
【C++】std::stringをイテレータで操作する方法(iterator, const_iterator)
はじめに C++のstd::stringは、内部的には文字のコンテナであり、std::vectorなどと同様に、その要素(個々の文字)にアクセスするためのイテレータを提供します。イテレータは、文字列内の特定の位置を指し示す、ポインタのように振る舞うオブジェクトで... -
C++樹林
【C++】std::string::substrで部分文字列を抽出する方法
はじめに C++でstd::stringを扱う際、「文字列の先頭から5文字だけ取り出したい」「3文字目から4文字分を抜き出したい」といった、部分文字列を抽出したい場面は非常に多くあります。 この目的のために、std::stringクラスには .substr() というメンバ関数... -
C++樹林
【C++】stoi, stod で文字列を数値に変換する方法
はじめに C++で、ユーザーが入力した "123" のような文字列を、計算で使える 123 という数値(intやdouble)に変換したい場面は非常に多くあります。 C++11では、この目的のために <string> ヘッダーに、stoX (string to X) と呼ばれる一連の便利な... -
C++樹林
【C++】std::to_stringで数値を文字列に変換する方法
はじめに C++で、計算結果の数値と、説明の文字列を連結して一つのメッセージを作成したい、という場面は頻繁にあります。C++では、std::stringオブジェクトと数値を + で直接連結することはできません。 この問題を解決するために、C++11では <string&... -
C++樹林
【C++】std::string::findで文字列を検索する方法とnposの使い方
はじめに C++のstd::stringで、「ある文字列の中に、特定のキーワードが含まれているか」を調べたい場面は非常に多くあります。この目的のために、std::stringクラスには**.find()**という強力なメンバ関数が用意されています。 .find()は、文字列の中から... -
C++樹林
【C++20】starts_with, ends_withで文字列の前方/後方一致を判定する方法
はじめに C++で、「ファイル名が _backup で終わっているか」「URLが https:// で始まっているか」といった、文字列の前方一致または後方一致を判定したい場面は頻繁にあります。 従来は、.substr() や .compare() といったメンバ関数を組み合わせて、少し... -
C++樹林
【C++17】boyer_moore_searcherで高速な文字列検索を行う方法
はじめに C++で、長い文字列の中から特定のパターン(部分文字列)を探し出す場合、標準ライブラリ<algorithm>のstd::search関数が利用できます。 C++17では、このsearch関数と組み合わせて使うための検索オブジェクト(searcher)が導入されました... -
C++樹林
【C++】std::regex_matchで正規表現を使って文字列のマッチングを行う方法
はじめに C++で、ユーザーが入力した文字列が「メールアドレスの形式に合っているか」「YYYY-MM-DDという日付の形式になっているか」といった、特定のフォーマット検証を行いたい場合があります。 C++11で導入された**<regex>ライブラリのstd::regex... -
C++樹林
【C++】std::regex_replaceで正規表現を使って文字列を置換する方法
はじめに C++で、「YYYY/MM/DD」という形式の日付文字列を、「YYYY年MM月DD日」という形式に変換したい、といった高度な文字列置換を行いたい場合があります。 C++11で導入された**<regex>ライブラリのstd::regex_replace**関数は、このような複雑な... -
Python樹林
PythonのopenpyxlでExcelの数式を書き込む・読み込む
openpyxlライブラリでは、セルに数値を書き込むだけでなく、=SUM(A1:A2)のようなExcelの数式を直接書き込むことも可能です。また、ファイルを読み込む際に、数式そのものを文字列として取得するか、計算された結果の値を取得するかを選択できます。 セルに... -
Python樹林
PythonのopenpyxlでExcelセルのフォントスタイルを設定する方法
Pythonのopenpyxlライブラリでは、openpyxl.stylesからインポートしたFontオブジェクトを使い、Excelセルのフォント名、サイズ、スタイル(太字、イタリック体)、色などを設定できます。 Fontオブジェクトのインポートと作成 セルのフォントスタイルを操... -
Python樹林
PythonのopenpyxlでExcelセルのフォントスタイルを設定する方法
この記事では、Pythonのopenpyxlライブラリを使い、Excelワークシートのセルのフォントスタイル(サイズ、太字、イタリック体、色など)をプログラムで設定する方法について解説します。 Fontオブジェクトのインポートと作成 セルのフォントスタイルを操作... -
Python樹林
Pythonとopenpyxlで既存Excelファイルのデータを更新する
この記事では、Pythonのopenpyxlライブラリを使い、既存のExcelスプレッドシートを読み込み、特定の条件に基いてセルの値を更新し、その結果を新しいファイルとして保存するという、実用的なデータ更新タスクの自動化について解説します。 1. 準備:更新対... -
Python樹林
PythonのopenpyxlでExcelファイルを作成・書き込みする基本
この記事では、Pythonのopenpyxlライブラリを使い、新しいExcelワークブックの作成、シートの追加・削除、セルへのデータ書き込みといった、基本的なExcelファイル書き出し操作について解説します。 1. 新しいExcelブックの作成と保存 openpyxl.Workbook()... -
Python樹林
PythonとopenpyxlでExcelデータを集計し、結果を再利用可能なファイルとして保存する
この記事では、openpyxlライブラリを使ってExcelスプレッドシートからデータを読み込み、そのデータを集計・加工してPythonの辞書に格納し、最終的にその結果を再利用可能な.pyファイルとして書き出す、という一連のデータ処理パイプラインの構築方法を解... -
Python樹林
PythonのopenpyxlでExcelファイルを読み込む基本
この記事では、Pythonで.xlsx形式のExcelファイルを操作するためのライブラリopenpyxlを使い、Excelブックを開いてシートやセルのデータを読み込む基本的な方法について解説します。 1. 準備:openpyxlのインストールとサンプルExcelファイル openpyxlはサ... -
Python樹林
PythonとSeleniumによるブラウザ自動操作入門(Selenium 4対応版)
この記事では、Pythonのseleniumライブラリを使い、ウェブブラウザの操作を自動化するための基本的な方法について解説します。ページの読み込み、要素の検索、クリック、フォームへの入力といった一連の操作を、最新のSelenium 4の構文に沿って説明します... -
Python樹林
PythonでGoogle検索結果を自動で開くコマンドラインツール
この記事では、Pythonを使い、コマンドラインから指定したキーワードでGoogle検索を行い、その上位いくつかの検索結果を自動的にブラウザの新しいタブで開く、という実用的なスクリプトの作成方法を解説します。 1. プロジェクトの概要と準備 このプロジェ... -
C++樹林
【C++17】std::string_view の使い方 | 文字列コピーを回避しパフォーマンス向上
はじめに C++で、関数に文字列を渡す際、引数を const std::string& とするのが一般的でした。しかし、この方法にはパフォーマンス上の問題があります。もし、関数にC言語スタイルの文字列リテラル(例: "Hello") を渡そうとすると、その場で一時的な ... -
C++樹林
【C++20】std::format の使い方 | 型安全な文字列フォーマット入門
はじめに C++で、数値や文字列を組み合わせて一つの整形された文字列を作成する際、従来はstringstreamやC言語由来のprintfファミリーが使われてきました。しかし、これらはコードが冗長になったり、型安全性が低かったりという問題がありました。 C++20で... -
C++樹林
【C++20】std::formatで自作の型を文字列化する方法 (formatterの特殊化)
はじめに C++20で導入された**std::format**は、printfのように、型安全で拡張性の高い書式設定機能を提供します。intやstringといった基本型は標準でサポートされていますが、「自作したクラスやenum(列挙型)」をformatで直接扱いたい、という場面が必... -
C++樹林
【C++20】views::splitで文字列を指定した区切り文字で分割する方法
はじめに C++で、「A,B,C」のようなカンマ区切りの文字列を、個々の要素「A」「B」「C」に分割したい、という場面は非常に頻繁にあります。 従来はstd::getlineとstd::stringstreamを組み合わせるなどの手動での処理が必要でしたが、C++20のRangesライブラ... -
C++樹林
【C++23】views::join_withで文字列コンテナを指定した区切り文字で連結する方法
はじめに C++で、vector<string>などに格納された複数の文字列を、カンマ区切り(,)のような特定の文字列を間に挟んで、一つの大きな文字列に連結したい場合があります。従来はforループで手動で連結する必要がありましたが、C++23のRangesライブラ... -
Python樹林
PythonとBeautifulSoupによるHTML解析入門
この記事では、Webスクレイピングなどで広く利用されるPythonライブラリBeautifulSoupを使い、HTMLドキュメントから特定の情報を抽出するための基本的な方法について解説します。 1. 準備:BeautifulSoupのインストールとサンプルHTML BeautifulSoupはサー... -
Python樹林
PythonのrequestsモジュールでWebサイトからファイルをダウンロードする方法
この記事では、PythonでWeb上のコンテンツやファイルをダウンロードするための、非常に人気のあるサードパーティ製ライブラリrequestsの基本的な使い方を解説します。 requestsモジュールのインストール requestsはPythonの標準ライブラリではないため、使... -
Python樹林
Pythonで地図検索を自動化するmap_it.pyスクリプトの作成
この記事では、Pythonのwebbrowser、sys、pyperclipモジュールを組み合わせて、コマンドラインやクリップボードから住所を取得し、自動的にブラウザでGoogleマップを開く便利なスクリプトmap_it.pyを作成する方法を解説します。 1. プロジェクトの概要と必...