SQLite如何在排除某些字符的同时替换字符
SQLite how to replace characters while excluding some characters
我有一个包含单词及其音标的 SQLite 文件,如下所示:
Source (sɔɹs)
Song (sɔŋ)
Daughter (ˈdɔtəɹ)
...
如果“ɔ”后面没有跟“ŋ”或“ɹ”,我想用 'a' 个字符更改每个“ɔ”字符
到目前为止我的代码:
UPDATE words
SET phonetictranscription_ame = replace(phonetictranscription_ame, "ɔ", "a")
WHERE phonetictranscription_ame NOT IN ("ɔŋ", "ɔɹ")
此代码将 'ɔ' 字符替换为 'a' 字符,但它也将 'ɔ' 替换为包括“ɔŋ”和“ɔɹ”在内的单词。我的代码有问题吗?
首先,将所有出现的 'ɔŋ'
和 'ɔɹ'
替换为您确定不存在于列中的符号(我选择了 '|1'
和 '|2'
但我我不是语言学家,所以你可以更改它们)。
然后将所有'ɔ'
替换为'a'
。
最后恢复 'ɔŋ'
s 和 'ɔɹ'
s:
UPDATE words
SET phonetictranscription_ame =
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
phonetictranscription_ame, 'ɔŋ', '|1'
), 'ɔɹ', '|2'
), 'ɔ', 'a'
), '|1', 'ɔŋ'
), '|2', 'ɔɹ'
)
WHERE phonetictranscription_ame LIKE '%ɔ%';
参见demo。
我有一个包含单词及其音标的 SQLite 文件,如下所示:
Source (sɔɹs)
Song (sɔŋ)
Daughter (ˈdɔtəɹ)
...
如果“ɔ”后面没有跟“ŋ”或“ɹ”,我想用 'a' 个字符更改每个“ɔ”字符
到目前为止我的代码:
UPDATE words
SET phonetictranscription_ame = replace(phonetictranscription_ame, "ɔ", "a")
WHERE phonetictranscription_ame NOT IN ("ɔŋ", "ɔɹ")
此代码将 'ɔ' 字符替换为 'a' 字符,但它也将 'ɔ' 替换为包括“ɔŋ”和“ɔɹ”在内的单词。我的代码有问题吗?
首先,将所有出现的 'ɔŋ'
和 'ɔɹ'
替换为您确定不存在于列中的符号(我选择了 '|1'
和 '|2'
但我我不是语言学家,所以你可以更改它们)。
然后将所有'ɔ'
替换为'a'
。
最后恢复 'ɔŋ'
s 和 'ɔɹ'
s:
UPDATE words
SET phonetictranscription_ame =
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
phonetictranscription_ame, 'ɔŋ', '|1'
), 'ɔɹ', '|2'
), 'ɔ', 'a'
), '|1', 'ɔŋ'
), '|2', 'ɔɹ'
)
WHERE phonetictranscription_ame LIKE '%ɔ%';
参见demo。