我的SQL知识非常有限,特别是关于SQLite,虽然我相信这将是某种通用查询...或者可能不是因为搜索和替换...
我在SQLite中有这个音乐数据库,当然有各种各样的领域,但重要的是"media_item_id"和"content_url".
这是"content_url"的示例:
file:///c:/users/nazgulled/music/band%20albums/devildriver/%5b2003%5d%20devildriver/08%20-%20what%20does%20it%20take%20(to%20be%20a%20man).mp3
Run Code Online (Sandbox Code Playgroud)
我正在寻找一个搜索类似条目的查询,其中"content_url"遵循该模式,并用其他东西替换它("content_url").
例如,通用的"content_url"可以是这样的:
file:///c:/users/nazgulled/music/band%20albums/BAND_NAME/ALBUM_NAME/SONG_NAME.mp3
Run Code Online (Sandbox Code Playgroud)
我想用以下内容替换所有这些条目:
file:///c:/users/nazgulled/music/bands/studio%20albums/BAND_NAME/ALBUM_NAME/SONG_NAME.mp3
Run Code Online (Sandbox Code Playgroud)
我怎么能在一个查询中做到这一点?
PS:我正在使用Firefox SQLite Manager(找不到更好的免费替代Windows).
正如标题所述,我需要在带有下划线的字符串变量中重新发生$ sign的所有出现.
我试过了:
str.replace(new RegExp('$', 'g'), '_');
Run Code Online (Sandbox Code Playgroud)
但这对我不起作用,没有任何东西可以取代.
我想在php中搜索并替换第一个单词,如下所示:
$str="nothing inside";
Run Code Online (Sandbox Code Playgroud)
通过搜索将'nothing'替换为'something',并在不使用的情况下替换 substr
输出应该是:'里面的东西'
说我有一个包含单词red和的文字blue.
如何更换这个词的出现次数blue字green只有在包含所有字线red?
同样我怎么能代替blue用green在不包含字都行red?
我想替换python字符串末尾的字符.我有这个字符串:
s = "123123"
Run Code Online (Sandbox Code Playgroud)
我想,以取代过去2用x.假设有一个方法叫做replace_last:
r = replace_last(s, '2', 'x')
print r
1231x3
Run Code Online (Sandbox Code Playgroud)
有没有内置或简单的方法来做到这一点?
我该怎么办?
我懂了:
name = "^aH^ai" string.gsub(name, "^a", "")
应返回"Hi",但它将插入符号作为模式字符
这将是一个什么样的解决方案?(必须在gsub中完成)
我有一段旧代码,用于在字符串中执行查找和替换标记.
它接收映射from和to对,迭代它们,对于每个对,迭代目标字符串,查找from使用indexOf(),并用值替换它to.它完成了a的所有工作StringBuffer并最终返回a String.
我用这一行替换了代码:replaceAll("[,. ]*", "");
我运行了一些比较性能测试.
比较1,000,000迭代时,我得到了这个:
旧代码:1287ms
新代码:4605ms
3倍长!
然后我尝试用3次调用替换它replace:
replace(",", "");
replace(".", "");
replace(" ", "");
结果如下:
旧代码:1295
新代码:3524
2倍长!
任何想法,为什么replace和replaceAll是如此低效?我可以做些什么来加快速度吗?
编辑:感谢所有答案 - 主要问题确实是[,. ]*没有做我想做的事情.将其更改为[,. ]+几乎等于非基于正则表达式的解决方案的性能.使用预编译的正则表达式有所帮助,但是很少.(这是一个非常适用于我的问题的解决方案.
测试代码:
用正则表达式替换字符串:[,.]*
用正则表达式替换字符串:[,.] +
用正则表达式替换字符串:[,.] +和预编译模式
我是Python的新手.我希望能够打开一个文件,并通过Python替换给定替换的某些单词的每个实例.例如,用'bo'替换每个单词'zero',用'bob'替换'temp',用'nothing'说'trash'.
我第一次开始使用它:
for line in fileinput.input(fin):
fout.write(line.replace('zero', '0'))
fout.write(line.replace('temp','bob'))
fout.write(line.replace('garbage','nothing'))
Run Code Online (Sandbox Code Playgroud)
但我不认为这是一种甚至是远程正确的方法.然后我考虑使用if语句来检查行是否包含这些项,如果它包含这些项,然后替换该行包含的那个,但是根据我所知的Python,这也不是真正理想的解决方案.我很想知道最好的方法是什么.提前谢谢!
我此刻有点困惑.我试过了:
String test = "KP 175.105";
test.replace("KP", "");
System.out.println(test);
Run Code Online (Sandbox Code Playgroud)
得到了:
KP 175.105
Run Code Online (Sandbox Code Playgroud)
但是,我想:
175.105
Run Code Online (Sandbox Code Playgroud)
我的代码出了什么问题?