将电话号码从Outlook粘贴到JavaFX TextField或TextArea会产生多余的字符

问题描述

我遇到一个奇怪的问题,如果用户将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.CZ“: YLEibq7jkbdMVCg.162“,” Activity.Duration“:86,” Ac“

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

对不起-这里确实没有显示代码”。我相信任何FX应用程序的文本字段或区域都将发生这种情况。

想法?

解决方法

我将尝试仅检查字符串是否包含太多字符,然后将其删除。 快速简便,但这不是最有效的方法

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;
}