・行頭
^
・行末
$
・文字Aから文字Bの間
A.+?B
・文字Aから末尾まで。
/A.+?$/
2015年1月21日水曜日
2015年1月18日日曜日
[Ruby] csvデータを読み込み処理して、csvデータ形式で出力。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@array = [] | |
@data = [] | |
filename=ARGV[0] | |
if filename!=nil | |
file=open(filename) | |
while text=file.gets do #1行ごとに読み込み。※1行=改行されるまで。 | |
text.chomp! #末尾の改行文字を削除。 | |
@array<<text #csvデータの1行分が1つの要素として格納されていく。 | |
end | |
file.close | |
@array.shift #最初の要素を削除。(必要に応じて) | |
@array.each do |line| #1行ごとに繰り返し処理を実施。 | |
row = line.split(",") #要素(ここでは1行分)をカンマで分割。 | |
row[0].gsub!("/","-") #分割した要素に、やりたい処理。 | |
@data.push("," + row[0] + "," + row[2] + "," + row[3]) #csv形式で1行分を格納していく。※このように最初にカンマを入れると、1列目が空欄になる。 | |
end | |
str = "" | |
str = @data.join("\n") #配列の各要素を文字列に変換し、引数を区切り文字として結合。 | |
File.open("test.csv","w") do |line| | |
line.puts(str) | |
end | |
end |
![]() |
CSVデータの1行分。 |
![]() |
CSVデータの実態はテキストファイル。カンマを目印に分割できる。 |
※セル内に改行がある場合は、そこで分割されてしまうので、上記の方法では無理。
いろいろ考えはあると思うが、
require 'csv'
を使うやり方がある。
require 'csv'
CSV.foreach(filename) do |row|
end
※空欄は「""」ではなく、「nil」になるので注意。
require 'csv'
CSV.foreach(filename) do |row|
end
※空欄は「""」ではなく、「nil」になるので注意。
2015年1月12日月曜日
[Android] 一部の文字の色を変える。
文字に下線を引くとかだと、XMLのみの記述でいけるが、色の変更は反映してくれないようだ。
解決方法としては、java側で文字をセットする。
その際、Html.fromHtml() を使う。
TextView textView = (TextView) findViewById(R.id.hoge);
textView.setText(Html.fromHtml(getString(R.string.piyo)));
あとは、
<string name=“piyo”>テスト<font color=\"red\">色を変えたい文字</font>テスト</string>
こんな感じで書く。
※<>は、< > と書いたり。
解決方法としては、java側で文字をセットする。
その際、Html.fromHtml() を使う。
TextView textView = (TextView) findViewById(R.id.hoge);
textView.setText(Html.fromHtml(getString(R.string.piyo)));
あとは、
<string name=“piyo”>テスト<font color=\"red\">色を変えたい文字</font>テスト</string>
こんな感じで書く。
※<>は、< > と書いたり。
2015年1月11日日曜日
JavaScript メモ
・以下3つが連携。
1. CSS デザインを指定
2. HTML 要素とテキストのみ。プログラムは含まない。
3. JavaScript コードのみを記述。HTMLと混ぜない。
・変数
var 付けなくても使えるが、全てグローバルになる。
・連想配列がある
配列の添字に数字だけでなく文字を指定できる。
・無名オブジェクトの配列変数で、複数のデータを格納できる
<script type="text/javascript">
var data = [
{name:'あああ', tax: 3} ,
{name:'いいい', tax: 5} ,
{name:'ううう', tax: 8}
];
</script>
⇒呼び出しは、
prod_data[0].name
prod_data[0].price
prod_data[1].price
※また、多次元配列を使えば、いちいち名前を割り振らずに、値をそのまま格納することもできる。
var data = [
['名前','税率'],
['あああ', 3] ,
['いいい', 5] ,
];
この場合、prod_data1[0][0]で名前となる。以下。(2次元配列)
00 01
10 11
20 21
・CSS
class="hoge"
とタグに書いてあったら、
style タグにて、
.hoge {color:red}
みたいに指定されているはず。
・関数の定義
function hoge ()
と書く。
※最後に()が付けばメソッド名として扱われる。
・ログ
console.log(text);
・エラー確認
FirefoxDeveloperEdition
とかで、WEBコンソールで確認可能。
・html の書き変え
<body>
<span id="hoge">
<script>
window.onload=function() {
document.getElementById("hoge").innerHTML = '<p>test</p>';
}
</script>
</body>
または、上記のspanタグの記述の後で、
function testfunc() {
document.getElementById("hoge").innerHTML = '<p>test</p>';
};
testfunc();
・jQuery
$(function(){
〜
});
1. CSS デザインを指定
2. HTML 要素とテキストのみ。プログラムは含まない。
3. JavaScript コードのみを記述。HTMLと混ぜない。
・変数
var 付けなくても使えるが、全てグローバルになる。
・連想配列がある
配列の添字に数字だけでなく文字を指定できる。
・無名オブジェクトの配列変数で、複数のデータを格納できる
<script type="text/javascript">
var data = [
{name:'あああ', tax: 3} ,
{name:'いいい', tax: 5} ,
{name:'ううう', tax: 8}
];
</script>
⇒呼び出しは、
prod_data[0].name
prod_data[0].price
prod_data[1].price
※また、多次元配列を使えば、いちいち名前を割り振らずに、値をそのまま格納することもできる。
var data = [
['名前','税率'],
['あああ', 3] ,
['いいい', 5] ,
];
この場合、prod_data1[0][0]で名前となる。以下。(2次元配列)
00 01
10 11
20 21
・CSS
class="hoge"
とタグに書いてあったら、
style タグにて、
.hoge {color:red}
みたいに指定されているはず。
・関数の定義
function hoge ()
と書く。
※最後に()が付けばメソッド名として扱われる。
・ログ
console.log(text);
・エラー確認
FirefoxDeveloperEdition
とかで、WEBコンソールで確認可能。
・html の書き変え
<body>
<span id="hoge">
<script>
window.onload=function() {
document.getElementById("hoge").innerHTML = '<p>test</p>';
}
</script>
</body>
または、上記のspanタグの記述の後で、
function testfunc() {
document.getElementById("hoge").innerHTML = '<p>test</p>';
};
testfunc();
・jQuery
$(function(){
〜
});
2015年1月7日水曜日
PHP メモ
PHP はHTML の生成に使われる。
PHP はHTML のコードと混ぜて書くことができる。
・開始、終了タグ
開始タグ <?php
終了タグ ?>
・変数
$ が付いてるのは変数。
・繰り返し(foreach文)
foreach ($results as $i)
results変数の中身をi変数に移して、要素が終わるまで繰り返す。
・デバックするときは、
var_dump($i);
で、わりと何でも出してくれる。
※文字化けが発生した場合も、文字化け状態で出力してくれる。
・empty
カラの場合にTRUE
在る場合はFALSE
・三項演算子
(条件) ? (TRUEの場合に返す値) : (FALSEの場合に返す値)
PHP はHTML のコードと混ぜて書くことができる。
・開始、終了タグ
開始タグ <?php
終了タグ ?>
・変数
$ が付いてるのは変数。
・繰り返し(foreach文)
foreach ($results as $i)
results変数の中身をi変数に移して、要素が終わるまで繰り返す。
・デバックするときは、
var_dump($i);
で、わりと何でも出してくれる。
※文字化けが発生した場合も、文字化け状態で出力してくれる。
・empty
カラの場合にTRUE
在る場合はFALSE
・三項演算子
(条件) ? (TRUEの場合に返す値) : (FALSEの場合に返す値)
2015年1月3日土曜日
Ruby メモ
・文字列を囲むのに、
"" 特殊文字(\nとか)を解釈する。
'' 特殊文字を解釈しない。
・p オブジェクトの中身を表示。
・コメントの書き方
先頭に#
または、
=begin
(~~~)
=end
・条件文
if ~ then
elsif ~ then (elseif ではない。)
while ~ do
※最後のthen,do は省略可能。
締めは、
end
・繰り返し処理
■ each文
hoge.each { | piyo |
(hoge変数の中身が、順にpiyo変数に入るので、そのpiyo変数に対して繰り返したい処理を書く。)
}
■ for文
for i in 0..5
end
(0〜5まで繰り返す。加算される変数iを使いたい時に用いる)
・正規表現
=~ 正規表現でマッチングを行う時に使う。
・null じゃなくて nil
また条件判断にて、偽として扱われる。
・コマンドラインからのデータ入力
ARGVという配列オブジェクトが受け取る。(ARGV[0])
・メソッド
def メソッド名 (引数)
※引数にはデフォルト値を設定出来る。
返り値は、最後の行(条件文の場合はそれぞれ)が自動的になる。
return で明示した場合は、そこでメソッドが終了する。
・クラスの作成
class クラス名
def initialize()
end
※クラス名は大文字から始める
※initializeメソッドはJavaでいうコンストラクタ
・変数
@hoge…インスタンス変数。インスタンスごとに割り当てられる。
@@hoge…クラス変数。そのクラスの全てのインスタンスで共有。
・文字を特定文字で分割
コンマ区切りなら、
hoge.split(/,/)
・String変数に文字を追加
@text << "てすと"
・上から実行するので、メソッドを下に書くとエラー
・型を調べる
p hoge.class
・◯◯が含まれているか?
hoge.include?("◯◯")
・変数は、参照渡し(値渡しではない)なので注意。
破壊的操作を行う場合は、必要に応じて値をコピーするような記述をする。
hoge = piyo.dup
など。
・スライス
例えば、「/」と「・」で分割したい場合
split(/[\/・]/)
※「/」の前にはバックスラッシュを入れる。
"" 特殊文字(\nとか)を解釈する。
'' 特殊文字を解釈しない。
・p オブジェクトの中身を表示。
・コメントの書き方
先頭に#
または、
=begin
(~~~)
=end
・条件文
if ~ then
elsif ~ then (elseif ではない。)
while ~ do
※最後のthen,do は省略可能。
締めは、
end
・繰り返し処理
■ each文
hoge.each { | piyo |
(hoge変数の中身が、順にpiyo変数に入るので、そのpiyo変数に対して繰り返したい処理を書く。)
}
■ for文
for i in 0..5
end
(0〜5まで繰り返す。加算される変数iを使いたい時に用いる)
・正規表現
=~ 正規表現でマッチングを行う時に使う。
・null じゃなくて nil
また条件判断にて、偽として扱われる。
・コマンドラインからのデータ入力
ARGVという配列オブジェクトが受け取る。(ARGV[0])
・メソッド
def メソッド名 (引数)
※引数にはデフォルト値を設定出来る。
返り値は、最後の行(条件文の場合はそれぞれ)が自動的になる。
return で明示した場合は、そこでメソッドが終了する。
・クラスの作成
class クラス名
def initialize()
end
※クラス名は大文字から始める
※initializeメソッドはJavaでいうコンストラクタ
・変数
@hoge…インスタンス変数。インスタンスごとに割り当てられる。
@@hoge…クラス変数。そのクラスの全てのインスタンスで共有。
・文字を特定文字で分割
コンマ区切りなら、
hoge.split(/,/)
・String変数に文字を追加
@text << "てすと"
・上から実行するので、メソッドを下に書くとエラー
・型を調べる
p hoge.class
・◯◯が含まれているか?
hoge.include?("◯◯")
・変数は、参照渡し(値渡しではない)なので注意。
破壊的操作を行う場合は、必要に応じて値をコピーするような記述をする。
hoge = piyo.dup
など。
・スライス
例えば、「/」と「・」で分割したい場合
split(/[\/・]/)
※「/」の前にはバックスラッシュを入れる。
登録:
投稿 (Atom)