将电话号码从 Outlook 粘贴到 JavaFX TextField 或 TextArea 会产生无关字符

Posted

技术标签:

【中文标题】将电话号码从 Outlook 粘贴到 JavaFX TextField 或 TextArea 会产生无关字符【英文标题】:Pasting Phone number from Outlook to JavaFX TextField or TextArea produce Extraneous Characters 【发布时间】:2020-12-04 10:15:30 【问题描述】:

我遇到了一个奇怪的问题,如果用户将电话号码从 Outlook 联系人复制并粘贴到 javaFX 中的文本字段或文本区域,则会出现一堆无关字符。

例如,如果他们从 Outlook 联系人字段中复制“(555) 555-1234”并粘贴到 javaFX 应用程序文本字段或区域,则结果为 "(555) 555-1234e.UX.FlexClipboard .FUpdateAcbUi”、“CV”:“ER1soZ/YLEibq7jkbdMVCg.163”、“ProcessIdentifier”:“OUTLOOK.exe_16.0.13029.20308_X86_A16C1D11-D89F-482C-9BAB-B8E46DD3150A”“Activity.CV”:“ER1soZ/ YLEibq7jkbdMVCg.162", "Activity.Duration": 86, "Ac"

这似乎只发生在 Outlook 中的电话号码字段中。其他字段 - 姓名、地址等似乎可以正常工作。 如果我从 Outlook 粘贴到 Word、文本文件,甚至是 intelliJ 中的文件,都会正常显示 无论我是通过 Ctrl-V 还是鼠标右键选择,甚至通过编程方式复制或粘贴,都没有关系

抱歉 - 这里确实没有“代码”可显示。我相信任何 FX 应用文本字段或区域都会发生这种情况。

想法?

【问题讨论】:

我相信任何 FX 应用程序的文本字段或区域都会发生这种情况 然后编写一个非常简单的应用程序,只需一个 textArea .. 你们有带文本框的外汇应用吗?你有前景吗?如果是这样,请从 Outlook 复制电话号码并粘贴到 FX 应用程序中。我不需要为此写任何东西。 【参考方案1】:

我会尝试检查字符串是否包含太多字符,然后删除它们。 它既快速又简单,但不是最有效的方法

private static String checkString(String s )

    if (s.length() > 12)

        for(int i =0; i< s.length(); i++)
            if(s.charAt(i) > 'a' && s.charAt(i) < 'z')
            return s.substring(0, i);
            
        

    
    return s;

【讨论】:

以上是关于将电话号码从 Outlook 粘贴到 JavaFX TextField 或 TextArea 会产生无关字符的主要内容,如果未能解决你的问题,请参考以下文章

将Excel范围粘贴到Outlook电子邮件正文

将范围复制为图像并粘贴到 Outlook 中(结果小/模糊)

在 Excel 中使用 VBA,如何在 Outlook 中粘贴表格然后将表格转换为文本?

outlook2007如何从一个用户迁移到另一个用户

自定义URI处理程序:Outlook集成?

根据outlook中的某些条件粘贴值