【问题标题】:Remove spaces from a string of text in clipboard从剪贴板中的文本字符串中删除空格
【发布时间】:2013-11-14 23:42:30
【问题描述】:

这可能是一个奇怪的要求,但请听我说:

我的商店有一个巨大的数据库,其中包含产品代码,例如 87 445 G 6,我需要在供应商的网站上检查其可用性。问题是,供应商的网站包含一个 Web 表单,我必须在其中输入不带空格的代码,所以想象一下,每次粘贴代码或手动编写代码时,我都必须手动删除空格。 我无法编辑从中复制代码的数据库。

我想知道是否可以在供应商的 Web 表单上的浏览器中直接使用某种插件、脚本或技巧,或者使用某些软件来修改 Windows 剪贴板的工作方式,也许可以选择复制不带空格的文本。使用 Windows XP。

【问题讨论】:

  • 你进入什么样的领域?小文本字段还是大文本框?
  • 如何从数据库中获取数据?您是否有能力使用数据库客户端编写脚本,或者您是否将其从 Web 界面拉到您的数据库?

标签: clipboard trim spaces


【解决方案1】:

OP 可能已经继续,但对于其他人来说,我的方法是从 windows 剪贴板方面解决这个问题。

背景信息:我在 Keepass 中保留了我的信用卡信息列表。有时(编码不良的)购物车结帐表格不喜欢卡号之间的空格。我喜欢用空格来存储它们,因为这样更容易读取。

那里有各种 Windows 剪贴板实用程序,但我花了一段时间才找到一个可以对剪贴板内容进行一些处理并将其粘贴出来的工具 - Clipboard Help and Spell

该程序有一种方法可以“保存”一堆文本转换,甚至可以将操作分配给热键。

作为参考,我的“查找和替换”操作是查找“\s”(不带引号)并将替换文本框留空。 "\s" 将匹配空白字符。

【讨论】:

  • 谢谢,我去看看!
  • 如果有人在谷歌上搜索自动“清除”复制文本开头和结尾的空白,我发现了一个更好的程序:clipboardfusion.com
【解决方案2】:

使用 javascript 控制台

粘贴后,您可以使用浏览器的 javascript 控制台来编辑文本区域。

使用谷歌浏览器(或 Firefox)

将您的文本粘贴到文本区域。

右击文本区域,点击Inspect Element

查看元素的id

现在切换到控制台视图

然后运行这些行(确保将 'the-id' 替换为您的 id)

var my_text_area = document.getElementById('the-id'); // Put your id in here
my_text_area.value = my_text_area.value.replace(/ /g,"") // Deletes just spaces

如果你可以访问 jQuery,那就更简单了:

$('#the-id').val($('#the-id').val().replace(/ /g, ""))

replace 函数只是使用正则表达式将空格转换为空。如果您想替换所有空格(包括换行符),您可以使用.replace(/\s/g,"")

对于 firefox,名称相同,但 UI 略有不同。

使用greasemonkey

您可以写greasemonkey plugin 或尝试找到适合您需要的。

【讨论】:

  • 这两种方法都给我一个错误,说该值为 NULL。这可能是因为页面加载时文本字段的 .value 为空。即使我输入代码然后运行命令,它仍然给出 NULL 值。
  • 哦!您需要先添加文本。此函数替换字段中的任何文本。
  • 如果我可以修改我拥有的数据库的页面怎么办?这些代码列在html标签<nobr>78 G 8887</nobr>之间.
  • 我想我很困惑,你不是在粘贴什么吗?那么文本区域应该是可编辑的。如果你真的必须在外面做,也许使用 notepad++ 进行搜索和替换是一个更好的选择。
  • 哦,代码是这样列出的?是的,更改您从中提取的页面上的 javascript 可能会更好。是否愿意在上面的问题中发布更多代码(如外部标签或至少更大的 sn-p)?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-02-20
  • 1970-01-01
  • 1970-01-01
  • 2014-10-25
  • 1970-01-01
  • 2017-11-20
相关资源
最近更新 更多