将电话号码从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.CV”:“ER1soZ/YLEibq7jkbdMVCg.162”,“活动持续时间”:86,“Ac”将电话号码从Outlook粘贴到JavaFX TextField或TextArea会产生无关字符,java,javafx,outlook,textarea,textfield,Java,Javafx,Outlook,Textarea,Textfield,我遇到了一个奇怪的问题,如果用户将Outlook联系人中的电话号码复制并粘贴到javaFX中的文本字段或文本区域,就会出现一堆无关字符 例如,如果他们从Outlook联系人字段复制“(555)555-1234”并粘贴到javaFX应用程序文本字段或区域中,结果是“(555)555-1234e.UX.FlexClipboard.FUpdateAcbUi”,“CV”:“ER1soZ/YLEibq7jkbdMVCg.163”,“ProcessIdentifier”:“Outlook.exe_16.0.
- 这似乎只发生在Outlook中的电话号码字段中。其他字段-姓名、地址等似乎工作正常
- 如果我从Outlook粘贴到Word,一个文本文件,甚至是intelliJ中的一个文件,它会正常显示
- 无论我是通过Ctrl-V还是鼠标右键选择复制或粘贴,甚至是通过编程方式复制或粘贴,这都无关紧要
想法?我会尝试检查字符串是否包含太多字符,然后删除它们。 这很快很容易,但不是最有效的方法
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;
}
私有静态字符串校验字符串(字符串s){
如果(s.长度()>12){
对于(int i=0;i‘a’和s.charAt(i)<‘z’){
返回s.substring(0,i);
}
}
}
返回s;
}
我相信任何FX应用程序文本字段或区域都会出现这种情况,然后编写一个只包含一个文本字段的非常简单的应用程序。你有任何带有文本字段的FX应用程序吗?你有Outlook吗?如果有,请从Outlook复制一个电话号码并粘贴到FX应用程序中。我无需为此编写任何内容。