我正在寻找一个elisp函数,该函数接受一个字符串并以标题大小写返回相同的单词(即,所有单词都大写,除了“ a”,“ an”,“ on”,“ the”等)。
我发现this script,它需要标记区域。
仅,我需要一个接受字符串变量的函数,因此可以将其与replace-regex
一起使用。我希望看到上述脚本的一个版本,它可以接受或...
答案 0 :(得分:3)
像这样吗?
C:\Users\name>npm install mysql
npm WARN saveError ENOENT: no such file or directory, open 'C:\Users\name\package.json'
npm WARN enoent ENOENT: no such file or directory, open 'C:\Users\name\package.json'
npm WARN name No description
npm WARN name No repository field.
npm WARN name No README data
npm WARN name No license field.
mysql@2.15.0
updated 1 package in 0.519s
答案 1 :(得分:1)
我想说,您链接的脚本在标题框方面做得很好。您可以按原样使用它。
这给我们留下了两个问题:
在Emacs中使用字符串通常是在未显示的临时缓冲区中完成的。您可以这样编写包装器:
(defun title-capitalization-string (s)
(with-temp-buffer
(erase-buffer)
(insert s)
(title-capitalization (point-min)
(point-max))
(buffer-substring-no-properties (point-min)
(point-max))))
现在,对于一个神奇地执行您想要的功能的函数,请考虑以下内容:
(defun title-capitalization-dwim (&optional arg)
(interactive)
(cond
(arg
(title-capitalization-string arg))
((use-region-p)
(title-capitalization-string
(buffer-substring-no-properties (region-beginning)
(region-end))))
(t
(title-capitalization-string
(buffer-substring-no-properties (point-at-bol)
(point-at-eol))))))
它接受一个可选参数,或一个活动区域,或退回到当前行上的文本。请注意,此功能在交互使用时并没有真正有用,因为它不会显示任何效果。帽子提示也指向https://www.emacswiki.org/emacs/titlecase.el
除了站点的默认许可证之外,我还将所有这些代码置于Apache License 2.0和GPL 2.0(或更高版本)下。
答案 2 :(得分:0)
使用const { JSDOM } = require("jsdom");
const puppeteer = require('puppeteer')
const urls = ['fake.com/link-1', 'fake.com/link-2', 'fake.com/link-3']
urls.forEach(async url => {
let dom = new JSDOM(await makeRequest(url))
console.log(dom.window.document.title)
});
async function makeRequest(url) {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto(url);
let html = await page.content()
await browser.close();
return html
}
M-x
是‘C 源代码”。(
upcase-initials-region
BEG END )将区域中每个单词的首字母大写。这意味着每个 单词的第一个字符将转换为大写或大写 情况,其余的保持不变。在程序中,给两个 参数,要操作的开始和结束字符位置。