Решение stringr
с str_match_all
и конвейерными операторами. Для первого решения:
library(stringr)
str_match_all(ll, "[0-9]+") %>% unlist %>% unique %>% as.numeric
Второе решение:
str_match_all(ll, "[0-9]") %>% unlist %>% unique %>% as.numeric
(Примечание: я также назвал список ll
)
Используйте драйвер SQLite для .Net и получите доступ к файлу places.sqlite , его можно найти по адресу
Application Data / Mozilla / Firefox / Profiles / $ this_varies / Places.sqlite
на моем компьютере. Вам не составит труда определить местонахождение на целевых компьютерах.
Редактировать 1:
Вот фрагмент кода, который распечатывает URL-адреса из базы данных:
using System.Data.SQLite; // downloaded from http://sourceforge.net/projects/adodotnetsqlite
namespace sqlite_test
{
class Program
{
static void Main(string[] args)
{
var path_to_db = @"C:\places.sqlite"; // copied here to avoid long path
SQLiteConnection sqlite_connection = new SQLiteConnection("Data Source=" + path_to_db + ";Version=3;New=True;Compress=True;");
SQLiteCommand sqlite_command = sqlite_connection.CreateCommand();
sqlite_connection.Open();
sqlite_command.CommandText = "select * from moz_places";
SQLiteDataReader sqlite_datareader = sqlite_command.ExecuteReader();
while (sqlite_datareader.Read())
{
// Prints out the url field from the table:
System.Console.WriteLine(sqlite_datareader["url"]);
}
}
}
}
Редактировать 2:
Как подсказка. Я действительно должен порекомендовать плагин SQLite Manager для firefox. Это очень полезно для работы с базами данных sqlite.
Безусловно, это работает так же, как предложено в вопросе о Java, просто получите поставщика SQLite .NET и используйте его для доступа к файлу базы данных FF.
Есть драйвер SQLite для .Net. Как только вы получите эту работу, я могу представить, что решение будет одинаковым как для .Net, так и для Java.
Мне пришлось немного переделать это для моего проекта http://www.codertakeout.com . Надеюсь, что эта редакция поможет прояснить некоторые вещи благодаря некоторым предложениям из Интернета.
using System.Data.SQLite; // need to install sqlite .net driver
String path_to_db = @"C:\Documents and Settings\Jeff\Application Data\Mozilla\Firefox\Profiles\yhwx4xco.default\places.sqlite";
String path_to_temp = System.IO.Path.GetTempFileName();
System.IO.File.Copy(path_to_db, path_to_temp, true);
SQLiteConnection sqlite_connection = new SQLiteConnection("Data Source=" + path_to_temp + ";Version=3;Compress=True;Read Only=True;");
SQLiteCommand sqlite_command = sqlite_connection.CreateCommand();
sqlite_connection.Open();
sqlite_command.CommandText = "SELECT moz_bookmarks.title,moz_places.url FROM moz_bookmarks LEFT JOIN moz_places WHERE moz_bookmarks.fk = moz_places.id AND moz_bookmarks.title != 'null' AND moz_places.url LIKE '%http%';";
SQLiteDataReader sqlite_datareader = sqlite_command.ExecuteReader();
while (sqlite_datareader.Read())
{
System.Console.WriteLine(sqlite_datareader[1]);
}
sqlite_connection.Close();
System.IO.File.Delete(path_to_temp);
Посетите http://myexps.blogspot.com для реализации на java.
import java.sql.*;
public class helloWorld {
public static void main(String[] args) throws Exception {
Class.forName("org.sqlite.JDBC");
Connection conn = DriverManager.getConnection("jdbc:sqlite:/home/deepak/.mozilla/firefox/yvf7p20d.default/places.sqlite//");
if(conn==null)
{
System.out.println("ERROR");
}
System.out.println(conn.toString());
Statement stat = conn.createStatement();
ResultSet rs = stat.executeQuery("select * from moz_bookmarks;");
while (rs.next()) {
System.out.println("id = " + rs.getString("id"));
System.out.println("keyword = " + rs.getString("keyword_id"));
System.out.println("title = " + rs.getString("title"));
}
rs.close();
conn.close();
}
}
Это будет реализация java