#### 讀檔 ####
# data/song_rank.csv
setwd('/Users/carplee/Desktop/...')
r = read.csv("data/song_rank.csv")
r$Song
rS = r$Song
原本的rs:
rs
[1] 青空未來 (Future)
[2] 勇氣 (Courage)
[3] 沒什麼大不了
[4] 我 (feat. 馬佳)
[5] 人間遊戲
[6] 愛情限時批 (Express love letter)
[7] 故作完美 (Imperfection)
[8] 我們 (《奇蹟》前導片插曲) (Us)
[9] 愛在蔓延時 (When Love Being Spread)
[10] 煙火星辰 (電視劇《你是我的榮耀》片頭曲)
[11] 紅空過去 (past)
[12] 放空現在
[13] 力量 (strength)
[14] 很重要
14 Levels: 人間遊戲 力量 (strength) 勇氣 (Courage) ... 青空未來 (Future)
所有字母(大寫,小寫)都去掉:
gsub(x=rS, pattern = '[a-zA-Z]',replacement = '')
[1] "青空未來 ()"
[2] "勇氣 ()"
[3] "沒什麼大不了"
[4] "我 (. 馬佳)"
[5] "人間遊戲"
[6] "愛情限時批 ( )"
[7] "故作完美 ()"
[8] "我們 (《奇蹟》前導片插曲) ()"
[9] "愛在蔓延時 ( )"
[10] "煙火星辰 (電視劇《你是我的榮耀》片頭曲)"
[11] "紅空過去 ()"
[12] "放空現在"
[13] "力量 ()"
[14] "很重要"
原本的rs:
rs
[1] 青空未來 (Future)
[2] 勇氣 (Courage)
[3] 沒什麼大不了
[4] 我 (feat. 馬佳)
[5] 人間遊戲
[6] 愛情限時批 (Express love letter)
[7] 故作完美 (Imperfection)
[8] 我們 (《奇蹟》前導片插曲) (Us)
[9] 愛在蔓延時 (When Love Being Spread)
[10] 煙火星辰 (電視劇《你是我的榮耀》片頭曲)
[11] 紅空過去 (past)
[12] 放空現在
[13] 力量 (strength)
[14] 很重要
14 Levels: 人間遊戲 力量 (strength) 勇氣 (Courage) ... 青空未來 (Future)
所有標點符號都去掉:
gsub(x=rS, pattern = '[[:punct:]]',replacement = '')
[1] "青空未來 Future"
[2] "勇氣 Courage"
[3] "沒什麼大不了"
[4] "我 feat 馬佳"
[5] "人間遊戲"
[6] "愛情限時批 Express love letter"
[7] "故作完美 Imperfection"
[8] "我們 奇蹟前導片插曲 Us"
[9] "愛在蔓延時 When Love Being Spread"
[10] "煙火星辰 電視劇你是我的榮耀片頭曲"
[11] "紅空過去 past"
[12] "放空現在"
[13] "力量 strength"
[14] "很重要"
原本的rs:
rs
[1] 青空未來 (Future)
[2] 勇氣 (Courage)
[3] 沒什麼大不了
[4] 我 (feat. 馬佳)
[5] 人間遊戲
[6] 愛情限時批 (Express love letter)
[7] 故作完美 (Imperfection)
[8] 我們 (《奇蹟》前導片插曲) (Us)
[9] 愛在蔓延時 (When Love Being Spread)
[10] 煙火星辰 (電視劇《你是我的榮耀》片頭曲)
[11] 紅空過去 (past)
[12] 放空現在
[13] 力量 (strength)
[14] 很重要
14 Levels: 人間遊戲 力量 (strength) 勇氣 (Courage) ... 青空未來 (Future)
所有字母(小寫,大寫)和標點符號都去掉:
gsub(x=rS, pattern = '[a-zA-Z[:punct:]]',replacement = '')
[1] "青空未來 "
[2] "勇氣 "
[3] "沒什麼大不了"
[4] "我 馬佳"
[5] "人間遊戲"
[6] "愛情限時批 "
[7] "故作完美 "
[8] "我們 奇蹟前導片插曲 "
[9] "愛在蔓延時 "
[10] "煙火星辰 電視劇你是我的榮耀片頭曲"
[11] "紅空過去 "
[12] "放空現在"
[13] "力量 "
[14] "很重要"
原本的rs:
rs
[1] 青空未來 (Future)
[2] 勇氣 (Courage)
[3] 沒什麼大不了
[4] 我 (feat. 馬佳)
[5] 人間遊戲
[6] 愛情限時批 (Express love letter)
[7] 故作完美 (Imperfection)
[8] 我們 (《奇蹟》前導片插曲) (Us)
[9] 愛在蔓延時 (When Love Being Spread)
[10] 煙火星辰 (電視劇《你是我的榮耀》片頭曲)
[11] 紅空過去 (past)
[12] 放空現在
[13] 力量 (strength)
[14] 很重要
14 Levels: 人間遊戲 力量 (strength) 勇氣 (Courage) ... 青空未來 (Future)
所有字母(小寫,大寫)、標點符號和空格都去掉:
gsub(x=rS, pattern = '[a-zA-Z[:punct:] ]',replacement = '')
[1] "青空未來"
[2] "勇氣"
[3] "沒什麼大不了"
[4] "我馬佳"
[5] "人間遊戲"
[6] "愛情限時批"
[7] "故作完美"
[8] "我們奇蹟前導片插曲"
[9] "愛在蔓延時"
[10] "煙火星辰電視劇你是我的榮耀片頭曲"
[11] "紅空過去"
[12] "放空現在"
[13] "力量"
[14] "很重要"
原本的rs:
rs
[1] 青空未來 (Future)
[2] 勇氣 (Courage)
[3] 沒什麼大不了
[4] 我 (feat. 馬佳)
[5] 人間遊戲
[6] 愛情限時批 (Express love letter)
[7] 故作完美 (Imperfection)
[8] 我們 (《奇蹟》前導片插曲) (Us)
[9] 愛在蔓延時 (When Love Being Spread)
[10] 煙火星辰 (電視劇《你是我的榮耀》片頭曲)
[11] 紅空過去 (past)
[12] 放空現在
[13] 力量 (strength)
[14] 很重要
14 Levels: 人間遊戲 力量 (strength) 勇氣 (Courage) ... 青空未來 (Future)
所有()括號裡的東西都去掉:
gsub(x=rS, pattern = ' \\(.*\\)',replacement = '') # 二個\\ 才是escape
[1] "青空未來" "勇氣" "沒什麼大不了" "我"
[5] "人間遊戲" "愛情限時批" "故作完美" "我們"
[9] "愛在蔓延時" "煙火星辰" "紅空過去" "放空現在"
[13] "力量" "很重要"
### re ###
# 1
s = '0123456789a'
gsub(x=s, pattern='0123456789', replacement='')
[1] "a"
# 2
s = '9365728410a'
gsub(x=s, pattern='9365728410', replacement='')
gsub(x=s, pattern='[0-9]', replacement='')
[1] "a"
[1] "a"
# 3
s = 'abcdefghij123'
gsub(x=s, pattern='abcdefghij', replacement='')
gsub(x=s, pattern='[a-j]', replacement='')
[1] "123"
[1] "123"
# 4
s = 'ABCDEFghij123'
gsub(x=s, pattern='[A-Fghi]', replacement='')
[1] "j123"
# 5
s = 'ABCDEFghij123四五六'
gsub(x=s, pattern='[A-Fg-j1-3]', replacement='')
gsub(x=s, pattern='[[:alnum:]]', replacement='') # 字母+數字 alnum
[1] "四五六"
[1] "四五六"
# 6
s = '人講這心情,罕罕罕罕較快活; 不通太陰沉,@}| 魔鏡歌詞@ 想著會驚~~ 有人真古意...||'
gsub(x=s, pattern='[魔鏡歌詞[:punct:] ]', replacement='')
[1] "人講這心情罕罕罕罕較快活不通太陰沉想著會驚有人真古意"
# 7
s = 'appleeadearj ipjdwekj'
gsub(x=s, pattern='[^a]', replacement='')
[1] "aaa"