質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

置換

置換とは文字列中の特定の文字に対して、別の文字列に置き換えることを指します。

Dreamweaver

Dreamweaverは、アドビシステムズ(株)が開発したWebページ作成ソフトです。 HTMLやXHTMLだけでなく、PHPやASPなどのサイバーサイドスクリプトの編集も可能で、 OracleやMicrosoftSQLServerなどの、データベースとの連携機能もあります。 Webデザイナーなどの専門業界で圧倒的なシェアを誇っているソフトです。

Q&A

解決済

1回答

2501閲覧

置換とすべて置換の違い

aaaaaaaa

総合スコア501

正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

置換

置換とは文字列中の特定の文字に対して、別の文字列に置き換えることを指します。

Dreamweaver

Dreamweaverは、アドビシステムズ(株)が開発したWebページ作成ソフトです。 HTMLやXHTMLだけでなく、PHPやASPなどのサイバーサイドスクリプトの編集も可能で、 OracleやMicrosoftSQLServerなどの、データベースとの連携機能もあります。 Webデザイナーなどの専門業界で圧倒的なシェアを誇っているソフトです。

0グッド

1クリップ

投稿2016/05/17 11:14

dreamweavercs6の置換について質問です。以下の文字列のうち「(?=doglove)dog」に当てはまる部分だけを「cat」に置換したいのです。
@置換前
dog
doglove
doglove
doglo
@置換後
dog
catlove
catlove
doglo
cs6は、置換に関するボタンが「置換」と「すべて置換」の二つあり、そのうちの後者は、指定したとおりcatloveになるのですが、
前者の「置換」ボタンは、何故か置換されません。
「置換」と「すべて置換」の違いは何ですか。なぜ前者は、何も起きないのでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

手元に無いのでうろ覚えですが、
何も選択していない状態で「置換」を押すと、最初の対象文字列が置換されて、次の検索対象文字列にフォーカスが移動(検索と同じ動作)するのだったように思います。
※ひょっとすると初回はフォーカス移動だけだったかも

「dogとdogloveとdogloveとdoglove」のような文章に対して
検索文字列「doglove」
置換文字列「catlove」
で置換を実行すると
「dogとcatloveとdogloveとdoglove」
となって、2つめのdogloveにフォーカスが移動しませんか?

投稿2016/05/17 13:24

hirohiro

総合スコア2068

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

aaaaaaaa

2016/05/18 11:16

ご回答有難うございます。 何も選択されていない状態で置換を押すと、最初の文字列は、置換されずフォーカスされるだけで、もう一度押すと次の文字列にフォーカスされます。さらにもう一度置換ボタンを押すと、「完了。2個の項目が現在のドキュメント内に見つかりました。」と表示されます。さらに再度、置換ボタンを押すと「完了。現在のドキュメント内に検索項目は見つかりませんでした。」と表示されます。 もちろん、置換ボタンを押しており検索ボタンは、触っておりません。
hirohiro

2016/05/18 11:23 編集

はい。でしたらそれで回答になっておりますでしょうか? > もう一度押すと次の文字列にフォーカスされます。 この際その前にフォーカスされていた文字列は置換完了していると思います。 ・「すべて置換」は対象範囲(選択範囲やファイルやフォルダなど選べたような..うろ覚え)の全ての検索文言を一気に置換する。 ・「置換」は対象範囲の先頭からフォーカスを移しつつ、1つ1つ置換を行う。 といった違いがあります。
aaaaaaaa

2016/05/19 02:52

ということは、本来は、次の文字列にフォーカスされたら前の文字列は、「catlove」になっているはずなのですね。 しかし次の文字列にフォーカスされても、前の文字列は、「doglove」のままです。 これがそのときの画像です。 http://up2.cache.kouploader.jp/koups17215.png 二つあるうちの下の方の「doglove」にフォーカスされておりますが、もう一方の単語は、そのままです。
hirohiro

2016/05/19 05:09 編集

なるほど、置換機能で肯定先読みがうまく動作していないのでしょうか? ところで例文のマッチなら正規表現を利用しなくても次のようにすれば実現可能です。 検索文字列「doglove」、置換文字列「catlove」 ※正規表現無し。 また少し無理やりですが、これでも動作すると思います。 検索文字列「dog(love)」、置換文字列「cat$1」 ※正規表現有り。 これらの場合は「置換」も期待通りの動作をしますか? するなら、正規表現を使った場合に予想外の動作をすることがあるのか、肯定先読みなどの句で問題が出ているのかを切り分ける事が可能かも知れません。
aaaaaaaa

2016/05/23 07:26

返答が遅れてしまいました。 ご回答有難うございます。 正規表現を利用しないやり方、利用するやり方を試したところ、置換することができました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問