
スクリプトはネットで調べて超初歩から独学と雰囲気でどうにかしております。
効率のいいスクリプトを書ける方に質問です。
====================
var sheet = SpreadsheetApp.getActiveSheet();
var v = sheet.getRange('a:a').getValues();
for( var i=0; i<v.length; i++ ){
for( var j=0; j< v[i].length; j++ ){
v[i][j] = v[i][j].replace("東京都", "東京");
====================
上記のような置換用のスクリプトを複数の語を処理するため
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
var sheet = SpreadsheetApp.getActiveSheet();
var v = sheet.getRange('a:a').getValues();
for( var i=0; i<v.length; i++ ){
for( var j=0; j< v[i].length; j++ ){
v[i][j] = v[i][j].replace("東京都", "東京");
}
}
sheet.getRange('a:a').setValues(v);
var sheet = SpreadsheetApp.getActiveSheet();
var v = sheet.getRange('a:a').getValues();
for( var i=0; i<v.length; i++ ){
for( var j=0; j< v[i].length; j++ ){
v[i][j] = v[i][j].replace("大阪府", "大阪");
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
のようにただただ何回も記載して縦長なスクリプトを書きました。
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
var sheet = SpreadsheetApp.getActiveSheet();
var v = sheet.getRange('a:a').getValues();
for( var i=0; i<v.length; i++ ){
for( var j=0; j< v[i].length; j++ ){
v[i][j] = v[i][j].replace("東京都", "東京");("大阪府", "大阪");("京都府", "京都");("福岡県", "福岡")・・・・・・・・・
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
のようにひとつの命令文の中に複数入れられませんでしょうか?
自力でやった結果ダメでしたので、詳しい方にお聞きしたいです。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんにちは
書いてないのでわかりませんが、Apps Scriptでしょうか?
とは言っても、私はApps Scriptを知っているわけではないのですが…
現状(?)の
>v[i][j] = v[i][j].replace("東京都", "東京");
が動作しているのであれば、単純に繰り返して記述するのが確実でしょう。
v[i][j] = v[i][j].replace("東京都", "東京");
v[i][j] = v[i][j].replace("大阪府", "大阪");
v[i][j] = v[i][j].replace("京都府", "京都");
・・・・・・・
想像するところ、replaceメソッドを連続して記述しても、同様になるものと思います。
v[i][j] = v[i][j].replace("東京都", "東京").replace("大阪府", "大阪").replace("京都府", "京都")・・・
のような要領です。
…とは言え、対象の数が多くなるとこのような記法では面倒になってくると思われます。
交換データ群をあらかじめ配列等に収めておいて、その数だけループするような処理にしておくほうが一般的かもしれません。
例えば、
var exchangeData = [
["東京都", "東京"],
["大阪府", "大阪"],
["京都府", "京都"],
["福岡県", "福岡"],
・・・・・・・
];
としておいて、ループ部分では
var tmp = v[i][j];
for(var k=0, ed; ed=exchangeDate[k++];) tmp = tmp.replace(ed{[0], ed[1]);
v[i][j] = tmp;
のような感じでしょうか?
※ご質問内容には直接関係ありませんが、 置換の対象が都道府県名だけに限定されているのなら、必ずしも"東京都"と"東京"のように置換前、置換後の両方の語句を用意しておかなくてもよさそうに思います。
都道府県名(例:"東京都")だけあれば、そこから都、道、府、県を除けば良いだけなので・・・
そのように考えれば、
var exchangeData = ["東京都","大阪府","京都府","福岡県",・・・・];
のように単純にすることも可能になるでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PDFを(htmlのように)無限に縦...
-
正規表現で、特定の文字列を含...
-
php コールバック関数
-
ナイトボットのAliasについて
-
これってなんの電話かわかりま...
-
VBAでクイズゲームの作り方
-
以下のURL入れますか?皆さんは↓
-
画像のドットの部分が抜けてい...
-
Chinapost こよパズルどう動か...
-
非同期通信で掲示板を作る際の...
-
非同期通信を使うタイミングが...
-
PYTHONのtkinterについて
-
Pythonのtkinterについて
-
Pythonを勉強する道のり
-
Pythonを無料(安価)で学ぶ方...
-
RPA(PowerAutomate)の実装について
-
ワードでA3横の画面にして、文...
-
入力フォームの値をQRコードで...
-
課題なのですがどなたかコード...
-
自作の地図をグーグルマップの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スライドを最後の画像で止めたい
-
変数の内容を別functionに渡したい
-
CSVファイルの文字列の表示につ...
-
readyStateが4にならない原因
-
Twitpicの写真をGoolgeAjaxSlid...
-
Ajaxでの、任意の件数でページ...
-
jqueryでタグの中にある文字が...
-
現在位置を取得するjavascript
-
Yahoo!ウィジェットのgetElemen...
-
ランダムなフェードインを作り...
-
Ajaxの結果のページングの方法
-
Win11 へのRufus と レジストリ...
-
階層別の組織図の自動作成について
-
JavaScriptでtabindexの変更っ...
-
Javascriptを使ってQRコード読...
-
同一ページ移動時ハンバーガー...
-
JavascriptからPHPへのAjax通信...
-
how's whether today in yufuin?
-
パソコンで動くjavascriptがス...
-
カンマ区切りのデータを配列に...
おすすめ情報