将三个字符的语言代码 (ISO 639-2) 转换为两个字符的代码 (ISO 639-1)

2023-12-03

我正在使用文本转语音 (TTS) 引擎开发 Android 应用程序。 TTS 组件返回可用语言列表作为列表Locale对象。

但这两种方法Locale::getLanguage and Locale::getISO3Language每个Locale对象返回相同的 3 字符代码 (ISO 639-2)。通常getLanguage()以 2 字符格式 (ISO 639-1) 返回语言代码,但对于特定设备,代码为 3 个字符。国家/地区代码也相同。但是我需要两个字符格式的语言和国家/地区代码(ISO 639-1)。

有人知道一种转换方法吗?请注意,我需要相应的Locale具有两个字母格式的语言和国家/地区代码的对象。


tl;dr

作为解决方法,请自行制作Map< Locale , String>映射每个已知的Locale其 2 字母语言代码符合 ISO 639-1。

new LocaleLookup().lookupTwoLetterLanguageCode( Locale.CANADA_FRENCH )

fr

或者也许只是解析文本Locale::toString.

Locale
.CANADA_FRENCH      
.toString()         // fr_CA
.split( "_" )       // Array: { "fr" , "CA" }
[ 0 ]               // Grab first element in array, "fr". 

fr

对于双字母国家/地区代码,请使用该拆分字符串的第二部分。使用索引1代替0.

Locale
.CANADA_FRENCH      
.toString()         // fr_CA
.split( "_" )       // Array: { "fr" , "CA" }
[ 1 ]               // Grab first element in array, "CA". 

CA

Bug?

这似乎是一个错误Locale::getLanguage将返回一个 3 字母代码。 Javadoc 在其代码示例中使用 2 个字母的代码。但不幸的是,Javadoc 未能明确指定 2 或 3 个字母。我建议您向 OpenJDK 项目提交请求以澄清此 Javadoc。

解决方法

作为解决方法,也许您可​​以致电Locale.getISOLanguages获取所有已知语言的 2 字母代码数组。然后循环这些。对于每个,使用 Javadoc 中看到的代码,传递 2 个字母的代码来限制Locale比较对象:

if (locale.getLanguage().equals(new Locale("he").getLanguage()))

从此构建您自己的Map区域设置和 2 字母代码之间。

示例类

这是我第一次尝试这样的解决方法图。

在构造函数中,我们获得所有已知区域设置和所有已知 2 字母 ISO 639-1 语言代码的列表。

接下来我们做一个嵌套循环。对于每个语言环境,我们循环所有 2 个字母的语言代码,直到找到匹配项。请注意,我们这样做not进行字符串匹配。 Javadoc 警告我们ISO 639标准是not稳定的;代码正在改变。引用:

注意:ISO 639 不是一个稳定的标准 - 某些语言的代码已经更改。 Locale 的构造函数可以识别代码已更改的语言的新代码和旧代码,但此函数始终返回旧代码。如果您想检查代码已更改的特定语言,请不要这样做

if (locale.getLanguage().equals("he")) // BAD!

相反,做

if (locale.getLanguage().equals(new Locale("he").getLanguage())) // GOOD.

因此,我们的内循环查看每个已知的 2 字母语言代码,并得到Locale该语言的对象。然后我们的if语句比较输出getLanguagefor (a) 我们的外循环Locale,以及(b)我们的内循环生成的仅语言Locale(由我们的 2 字母代码生成)。在您的情况下,您声称某些设备正在为我们的调用输出 3 个字母的代码值getLanguage。但无论是 2 个还是 3 个字母,都没关系。我们只是在寻找匹配。

一旦实例化,我们可以询问我们的LocaleLookup匹配特定的两个字母代码的实例Locale通过致电lookupTwoLetterLanguageCode method.

LocaleLookup localeLookup = new LocaleLookup();
Locale locale = Locale.CANADA_FRENCH;
String code = localeLookup.lookupTwoLetterLanguageCode( locale );

System.out.println( "Locale: " + locale.toString() + " " + locale.getDisplayName( Locale.getDefault() ) + " | ISO 639-1 code: " + code );

区域设置:fr_CA 法语(加拿大)| ISO 639-1 代码:fr

我只是猜测这一切。我没有仔细考虑过,也没有测试过这些。因此,买家请注意,该解决方案物有所值。祝你好运。

这是整个班级,public static void main用作演示。

package work.basil.example;

import java.util.*;

public class LocaleLookup
{
    private Map < Locale, String > mapLocaleToTwoLetterLangCode;

    public LocaleLookup ( )
    {
        this.mapLocaleToTwoLetterLangCode = new HashMap <>( Locale.getAvailableLocales().length );
        this.makeMaps();
        System.out.println( "mapLocaleToTwoLetterLangCode = " + mapLocaleToTwoLetterLangCode );
    }

    private void makeMaps ( )
    {
        // Get all locales.
        Set < Locale > locales = Set.of( Locale.getAvailableLocales() );


        // Get all languages, per 2-letter code.
        Set < String > twoLetterLanguageCodes = Set.of( Locale.getISOLanguages() ); // Returns: An array of ISO 639 two-letter language codes.

        for ( Locale locale : locales )
        {
            for ( String twoLetterLanguageCode : twoLetterLanguageCodes )
            {
                if ( locale.getLanguage().equals( new Locale( twoLetterLanguageCode ).getLanguage() ) )
                {
                    this.mapLocaleToTwoLetterLangCode.put( locale , twoLetterLanguageCode );
                    break;
                }
            }
        }
//        System.out.println( "locales = " + locales );
//        System.out.println( "twoLetterLanguageCodes = " + twoLetterLanguageCodes );
    }

    public String lookupTwoLetterLanguageCode ( final Locale locale )
    {
        String code = this.mapLocaleToTwoLetterLangCode.get( locale );
        Objects.requireNonNull( code );
        return code;
    }


    public static void main ( String[] args )
    {
        LocaleLookup localeLookup = new LocaleLookup();
        Locale locale = Locale.CANADA_FRENCH;
        String code = localeLookup.lookupTwoLetterLanguageCode( locale );

        System.out.println( "Locale: " + locale.toString() + " " + locale.getDisplayName( Locale.getDefault() ) + " | ISO 639-1 code: " + code );
    }
}

这是我在 Java 15 预发行版本中生成的地图。请注意这一点可能不正确,因为我在预发布版本中看到了一些区域设置的愚蠢之处。

mapLocaleToTwoLetterLangCode = {nn=nn、ar_JO=ar、bg=bg、zu=zu、am_ET=am、fr_DZ=fr、ti_ET=ti、bo_CN=bo、qu_EC=qu、ta_SG=ta、lv=lv、en_NU=en , en_MS=en, zh_SG_#Hans=zh, ff_LR_#Adlm=ff, en_GG=en, en_JM=en, vo=vo, sd__#Arab=sd, sv_SE=sv, sr_ME=sr, dz_BT=dz, es_BO=es , en_ZM=en, fr_ML=fr, br=br, ha_NG=ha, fa_AF=fa, ar_SA=ar, sk=sk, os_GE=os, ml=ml, en_MT=en, en_LR=en, ar_TD=ar, en_GH =en、en_IL=en、sv=sv、cs=cs、el=el、af=af、ff_MR_#Latn=ff、sw_UG=sw、tk_TM=tk、sr_ME_#Cyrl=sr、ar_EG=ar、sd__#Deva =sd、ji_001=yi、yo_NG=yo、se_NO=se、ku=ku、sw_CD=sw、vo_001=vo、en_PW=en、pl_PL=pl、ff_MR_#Adlm=ff、it_VA=it、sr_CS=sr、ne_IN =ne、es_PH=es、es_ES=es、es_CO=es、bg_BG=bg、ji=yi、ar_EH=ar、bs_BA_#Latn=bs、en_VC=en、nb_SJ=nb、es_US=es、en_US_POSIX=en、en_150 =en, ar_SD=ar, en_KN=en, ha_NE=ha, pt_MO=pt, ro_RO=ro, zh__#Hans=zh, lb_LU=lb, sr_ME_#Latn=sr, es_GT=es, so_KE=so, ff_LR_#Latn =ff、ff_GH_#​​Latn=ff、fr_PM=fr、ar_KM=ar、no_NO_NY=no、fr_MG=fr、es_CL=es、mn=mn、tr_TR=tr、eu=eu、fa_IR=fa、en_MO=en、wo =wo、en_BZ=en、sq_AL=sq、ar_MR=ar、es_DO=es、ru=ru、az=az、su__#Latn=su、fa=fa、kl_GL=kl、en_NR=en、nd=nd、kk =kk、en_MP=en、az__#Cyrl=az、en_GD=en、tk=tk、hy=hy、en_BW=en、en_AU=en、en_CY=en、ta_MY=ta、ti_ER=ti、en_RW=en、sv_FI =sv、nd_ZW=nd、lb=lb、ne=ne、su=su、zh_SG=zh、en_IE=en、ln_CD=ln、en_KI=en、om_ET=om、no=no、ja_JP=ja、my=my , ka=ka, ar_IL=ar, ff_GH_#​​Adlm=ff, or_IN=or, fr_MF=fr, ms_ID=ms, kl=kl, en_SZ=en, zh=zh, es_PE=es, ta=ta, az__#Latn =az、en_GB=en、zh_HK_#Hant=zh、ar_SY=ar、bo=bo、kk_KZ=kk、tt_RU=tt、es_PA=es、om_KE=om、ar_PS=ar、fr_VU=fr、en_AS=en、zh_TW =zh、sd_IN=sd、fr_MC=fr、kw=kw、fr_NE=fr、pt_MZ=pt、u​​r_IN=ur、ln=ln、en_JE=en、ln_CF=ln、en_CX=en、pt=pt、en_AT=en , gl=gl, sr__#Cyrl=sr, es_GQ=es, kn_IN=kn, ff__#Adlm=ff, ar_YE=ar, en_SX=en, to=to, ga=ga, qu=qu, ru_KZ=ru, en_TZ =en, et=et, en_PR=en, jv=jv, ko_KP=ko, in=in, sn=sn, ps=ps, nl_SR=nl, en_BS=en, km=km, fr_NC=fr, be=be , gv=gv, es=es, gd_GB=gd, nl_BQ=nl, ff_GN_#Adlm=ff, fr_CM=fr, uz_UZ_#Cyrl=uz, pa_IN_#Guru=pa, en_KE=en, ja=ja, fr_SN=fr , 或=或, fr_MA=fr, pt_LU=pt, ff_GM_#Adlm=ff, fr_BL=fr, en_NL=en, ln_CG=ln, te=te, sl=sl, ha=ha, mr_IN=mr, ko_KR=ko , el_CY=el, ku_TR=ku, es_MX=es, es_HN=es, hu_HU=hu, ff_SN=ff, sq_MK=sq, sr_BA_#Cyrl=sr, fi=fi, bs__#Cyrl=bs, uz=uz, et_EE =et、sr__#Latn=sr、en_SS=en、bo_IN=bo、sw=sw、fy_NL=fy、ar_OM=ar、tr_CY=tr、rm=rm、fr_BI=fr、en_MG=en、uz_UZ_#Latn=uz , bn=bn, de_IT=de, kn=kn, fr_TN=fr, sr_RS=sr, bn_BD=bn, de_CH=de, fr_PF=fr, gu=gu, pt_GQ=pt, en_ZA=en, en_TV=en, lo =lo、fr_FR=fr、en_PN=en、fr_BJ=fr、en_MH=en、zh__#Hant=zh、zh_HK_#Hans=zh、cu_RU=cu、nl_NL=nl、en_GY=en、ps_AF=ps、bs__#Latn =bs、ky=ky、os=os、bs_BA_#Cyrl=bs、nl_CW=nl、ar_DZ=ar、sk_SK=sk、pt_CH=pt、fr_GQ=fr、xh=xh、ki_KE=ki、am=am、fr_CI =fr、en_NG=en、ia_001=ia、en_PK=en、zh_CN=zh、en_LC=en、rw=rw、ff_BF_#Adlm=ff、wo_SN=wo、gv_IM=gv、iw=iw、en_TT=en、mk_MK =mk、sl_SI=sl、fr_HT=fr、te_IN=te、nl_SX=nl、ce=ce、fr_CG=fr、xh_ZA=xh、fr_BE=fr、ff_NE_#Adlm=ff、es_VE=es、mt_MT=mt、mr =mr、mg=mg、ko=ko、en_BM=en、nb_NO=nb、ak=ak、dz=dz、vi_VN=vi、en_VU=en、ia=ia、en_US=en、ff_SL_#Latn=ff、to_TO =to、ff_SN_#Adlm=ff、fr_BF=fr、pa__#Guru=pa、it_SM=it、su_ID=su、fr_YT=fr、gu_IN=gu、ii_CN=ii、ff_CM_#Latn=ff、pa_PK_#Arab=pa , fr_RE=fr, fi_FI=fi, ca_FR=ca, sr_BA_#Latn=sr, bn_IN=bn, fr_GP=fr, pa=pa, tg=tg, fr_DJ=fr, rn=rn, uk_UA=uk, ks__#Arab =ks、hu=hu、fr_CH=fr、en_NF=en、ff_GW_#Adlm=ff、ha_GH=ha、sr_XK_#Cyrl=sr、bm=bm、ar_SS=ar、en_GU=en、nl_AW=nl、de_BE=de , en_AI=en, en_CM=en, cs_CZ=cs, ca_ES=ca, tr=tr, ff_GW_#Latn=ff, rm_CH=rm, ru_MD=ru, ms_MY=ms, ta_LK=ta, en_TO=en, ff_SN_#Latn =ff、ff_SL_#Adlm=ff、cy=cy、en_PG=en、fr_CF=fr、pt_TL=pt、sq=sq、tg_TJ=tg、fr=fr、en_ER=en、qu_PE=qu、sr_BA=sr、es_PY =es、de=de、es_EC=es、ff_CM_#Adlm=ff、lg_UG=lg、ff_NE_#Latn=ff、zu_ZA=zu、fr_TG=fr、su_ID_#Latn=su、sr_XK_#Latn=sr、en_PH=en , ig_NG=ig, fr_GN=fr, zh_MO_#Hans=zh, lg=lg, ru_RU=ru, se_FI=se, ff=ff, en_DM=en, en_CK=en, sd=sd, ar_MA=ar, ga_IE=ga , en_BI=en, en_AG=en, fr_TD=fr, fr_LU=fr, en_WS=en, fr_CD=fr, so=so, rn_BI=rn, en_NA=en, mi_NZ=mi, ar_ER=ar, ms=ms, sn_ZW =sn、iw_IL=iw、ug=ug、es_EA=es、ga_GB=ga、th_TH_TH_#u-nu-thai=th、hi=hi、fr_SC=fr、ca_IT=ca、ff_NG_#Latn=ff、en_SL=en , no_NO=否, ca_AD=ca, ff_NG_#Adlm=ff, zh_MO_#Hant=zh, en_SH=en, qu_BO=qu, vi=vi, sd_PK_#Arab=sd, fr_CA=fr, de_LU=de, sq_XK=sq , en_KY=en, mi=mi, mt=mt, it_CH=it, de_DE=de, si_LK=si, en_AE=en, en_DK=en, so_DJ=so, eo=eo, lt_LT=lt, it_IT=it, en_ZW =en、ar_SO=ar、ro=ro、en_UM=en、ps_PK=ps、eo_001=eo、ee=ee、fr_MU=fr、nn_NO=nn、se_SE=se、pl=pl、en_TK=en、en_SI=en , ur=ur, uz__#Arab=uz, pt_GW=pt, se=se, lo_LA=lo, af_ZA=af, ar_LB=ar, ms_SG=ms, ee_TG=ee, ln_AO=ln, be_BY=be, ff_GN=ff , in_ID=in, es_BZ=es, ar_AE=ar, hr_HR=hr, as=as, it=it, pt_CV=pt, ks_IN=ks, uk=uk, my_MM=my, mn_MN=mn, ur_PK=ur, en_FM =en、da_DK=da、es_PR=es、en_BE=en、ii=ii、fr_WF=fr、tt=tt、ru_BY=ru、fo_DK=fo、ee_GH=ee、en_SG=en、ar_BH=ar、ff_GM_#Latn =ff、om=om、en_CH=en、hi_IN=hi、fo_FO=fo、yo_BJ=yo、fr_KM=fr、fr_MQ=fr、ff_GN_#Latn=ff、en_SD=en、es_AR=es、ff__#Latn=ff , en_MY=en, ja_JP_JP_#u-ca-japanese=ja, es_SV=es, pt_BR=pt, ml_IN=ml, en_FK=en, uz__#Cyrl=uz, is_IS=is, hy_AM=hy, en_GM=en, en_DG =en, fo=fo, ne_NP=ne, pt_ST=pt, hr=hr, ak_GH=ak, lt=lt, uz_AF_#Arab=uz, ta_IN=ta, fr_GF=fr, en_SE=en, zh_CN_#Hans=zh , es_419=es, is=is, pt_AO=pt, si=si, en_001=en, jv_ID=jv, en=en, es_IC=es, fr_MR=fr, ca=ca, ru_KG=ru, ar_TN=ar, ks =ks、zh_TW_#Hant=zh、ff_BF_#Latn=ff、bm_ML=bm、kw_GB=kw、ug_CN=ug、as_IN=as、es_BR=es、zh_HK=zh、sw_KE=sw、en_SB=en、th_TH=th , rw_RW=rw, ar_IQ=ar, en_MW=en, mk=mk, en_IO=en, pa__#Arab=pa, en_DE=en, ar_QA=ar, en_CC=en, ro_MD=ro, en_FI=en, bs=bs 、 pt_PT=pt、fy=fy、az_AZ_#Cyrl=az、th=th、es_CU=es、ar=ar、en_SC=en、en_VI=en、eu_ES=eu、en_UG=en、en_NZ=en、es_UY=es , sg_CF=sg, ru_UA=ru, sg=sg, uz__#Latn=uz, el_GR=el, da_GL=da, en_FJ=en, de_LI=de, en_BB=en, km_KH=km, hr_BA=hr, de_AT=de , nl=nl, lu_CD=lu, ca_ES_VALENCIA=ca, ar_001=ar, so_SO=so, lv_LV=lv, sd_IN_#Deva=sd, es_CR=es, ar_KW=ar, fr_GA=fr, ar_LY=ar, sr=sr , sr_RS_#Cyrl=sr, en_MU=en, da=da, gl_ES=gl, az_AZ_#Latn=az, en_IM=en, en_LS=en, ig=ig, en_HK=en, en_GI=en, ce_RU=ce, gd =gd、en_CA=en、ka_GE=ka、fr_SY=fr、sw_TZ=sw、so_ET=so、fr_RW=fr、nl_BE=nl、ar_DJ=ar、mg_MG=mg、en_VG=en、cy_GB=cy、cu=cu , sr_RS_#Latn=sr, os_RU=os, en_TC=en, sv_AX=sv, ky_KG=ky, af_NA=af, lu=lu, en_IN=en, yo=yo, ki=ki, es_NI=es, nb=nb , sd_PK=sd, ti=ti, ms_BN=ms, br_FR=br}

的子串Locale.toString?

现在,完成所有这些工作后,我注意到toString语言环境名称的表示形式以两个字母的语言代码开头!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将三个字符的语言代码 (ISO 639-2) 转换为两个字符的代码 (ISO 639-1) 的相关文章

  • minHeight 有什么作用吗?

    在附图中 我希望按钮列与图像的高度相匹配 但我也希望按钮列有一个最小高度 它正确匹配图像的高度 但不遵守 minHeight 并且会使按钮向下滑动 我正在为按钮列设置这些属性
  • CookieManager.getInstance().removeAllCookie();不删除所有cookie

    我在应用程序的 onCreate 中调用 CookieManager getInstance removeAllCookie 我遇到了一个奇怪的问题 我看到 GET 请求中传递了意外的 cookie 值 事实上 cookie 值是一个非常非
  • 如何在C(Linux)中的while循环中准确地睡眠?

    在 C 代码 Linux 操作系统 中 我需要在 while 循环内准确地休眠 比如说 10000 微秒 1000 次 我尝试过usleep nanosleep select pselect和其他一些方法 但没有成功 一旦大约 50 次 它
  • 如何将文件透明地传输到浏览器?

    受控环境 IE8 IIS 7 ColdFusion 当从 IE 发出指向媒体文件 例如 mp3 mpeg 等 的 GET 请求时 浏览器将启动关联的应用程序 Window Media Player 我猜测 IIS 提供文件的方式允许应用程序
  • 检查 Android 手机上的方向

    如何查看Android手机是横屏还是竖屏 当前配置用于确定要检索的资源 可从资源中获取Configuration object getResources getConfiguration orientation 您可以通过查看其值来检查方向
  • Spring Data 与 Spring Data JPA 与 JdbcTemplate

    我有信心Spring Data and Spring Data JPA指的是相同的 但后来我在 youtube 上观看了一个关于他正在使用JdbcTemplate在那篇教程中 所以我在那里感到困惑 我想澄清一下两者之间有什么区别Spring
  • 归并排序中的递归:两次递归调用

    private void mergesort int low int high line 1 if low lt high line 2 int middle low high 2 line 3 mergesort low middle l
  • 如何将设备连接到Eclipse?

    我无法解决这个简单的问题 我正在尝试通过 USB 电缆将我的设备连接到 Eclipse 在我的 PC 上 我已经安装了 Eclipse 和 Android SDK 并且在模拟器上运行该程序运行良好 我已在我的电脑上下载并安装了 Samsun
  • 下载后从谷歌照片库检索图像

    我正在发起从图库中获取照片的意图 当我在图库中使用 Nexus 谷歌照片应用程序时 一切正常 但如果图像不在手机上 在 Google Photos 在线服务上 它会为我下载 选择图像后 我将图像发送到另一个活动进行裁剪 但在下载的情况下 发
  • 当手机旋转(方向改变)时如何最好地重新创建标记/折线

    背景 开发一个使用 Android Google Map v2 的本机 Android 应用程序 使用android support v4 app FragmentActivity 在 Android v2 2 上运行 客观的 在更改手机方
  • Android - 将 ImageView 保存到具有全分辨率图像的文件

    我将图像放入 ImageView 中 并实现了多点触控来调整 ImageView 中的图像大小和移动图像 现在我需要将调整大小的图像保存到图像文件中 我已经尝试过 getDrawingCache 但该图像具有 ImageView 的大小 我
  • 如何在 Maven 中显示消息

    如何在 Maven 中显示消息 在ant中 我们确实有 echo 来显示消息 但是在maven中 我该怎么做呢 您可以使用 antrun 插件
  • Android:有没有办法以毫安为单位获取设备的电池容量?

    我想获取设备的电池容量来进行一些电池消耗计算 是否可以以某种方式获取它 例如 三星 Galaxy Note 2 的电池容量为 3100mAh 谢谢你的帮助 知道了 在 SDK 中无法直接找到任何内容 但可以使用反射来完成 这是工作代码 pu
  • Java - 不要用 bufferedwriter 覆盖

    我有一个程序可以将人员添加到数组列表中 我想做的是将这些人也添加到文本文件中 但程序会覆盖第一行 因此这些人会被删除 如何告诉编译器在下一个空闲行写入 import java io import java util import javax
  • 如何测试 spring-security-oauth2 资源服务器安全性?

    随着 Spring Security 4 的发布改进了对测试的支持 http docs spring io spring security site docs 4 0 x reference htmlsingle test我想更新我当前的
  • 将2-3-4树转换为红黑树

    我正在尝试将 2 3 4 树转换为 java 中的红黑树 但我无法弄清楚它 我将这两个基本类编写如下 以使问题简单明了 但不知道从这里到哪里去 public class TwoThreeFour
  • 在webview android中加载本地html文件

    我正在尝试在 android 的 webview 中加载 html 文件的内容 但是 它给了我 网页不可用错误 如果我尝试使用谷歌或雅虎等网站 它们就会起作用 html文件位于src gt main gt assests gt index
  • 中断连接套接字

    我有一个 GUI 其中包含要连接的服务器列表 如果用户单击服务器 则会连接到该服务器 如果用户单击第二个服务器 它将断开第一个服务器的连接并连接到第二个服务器 每个新连接都在一个新线程中运行 以便程序可以执行其他任务 但是 如果用户在第一个
  • 找到 Android 浏览器中使用的 webkit 版本?

    有没有办法知道某些特定手机上的 Android 浏览器使用的是哪个版本的 webkit 软件 如果有一个您可以浏览以获取该信息的 URL 那就太好了 但任何其他方式也很好 如果你知道 webkit 版本 你就知道 html5 支持多少 至少
  • JAVA - 如何从扫描仪读取文件中检测到“\n”字符

    第一次海报 我在读取文本文件的扫描仪中读取返回字符时遇到问题 正在读取的文本文件如下所示 test txt start 2 0 30 30 1 1 90 30 0 test txt end 第一行 2 表示两个点 第二行 位置索引 0 xp

随机推荐

  • 使用 WebpackExternals 进行酶单元测试

    我目前正在测试一个依赖于带有 webpack 外部脚本的组件 DBPanel js import React PureComponent from react import from jquery webpack 外部文件如下所示 webp
  • 如何检查 NSDictionary 或 NSMutableDictionary 是否包含键?

    我需要检查字典是否有密钥 如何 objectForKey如果键不存在则返回 nil
  • 在 R 中提取文件名的一部分

    我正在尝试编写一些代码来打开文件夹中的所有数据文件 应用一个函数 或一组函数 来提取我感兴趣的数据 到目前为止 一切都很好 问题是我想使用文件名的一个元素重新命名我从每个文件中提取的列之一 但我很难弄清楚如何提取它 我有一堆名为 YYYY
  • 如何在 RxJS observable 中添加额外的字段并等待它完成?

    我有一个返回的可观察值items 我只需要一个特定的项目 并且我想从也可观察到的 http 请求向其添加一些额外的字段 下面的代码是我试图实现这一目标的方法 但它不起作用 我需要完成所有可观察量才能获取完整的项目数据ngOnInit 我缺少
  • 如何在 pdf 中不显示页码 = 1 ? (html css)

    我的代码 html 像这样
  • MongoDB-Java 驱动程序:插入失败时捕获异常

    我正在做一个非常基本的插入 如下所示 try DB mongoDb mongo getDB databaseName DBCollection collection mongoDb getCollection collectionName
  • Postgres 中的存储过程是否在数据库事务中运行?

    如果存储过程在中间失败 那么从 SP 开头开始的更改是否会隐式回滚 或者我们是否必须编写任何显式代码来确保 SP 仅在数据库事务中运行 严格来说 Postgres 并没有have 存储过程如 ISO IEC 标准第 11 版之前的定义 该术
  • 在过程 MySQL 5.5.x 中获取 SQLEXCEPTION 消息

    我怎样才能得到错误文本MySQL 5 5存储过程时SQLEXCEPTION occurs 我需要一些类似的东西来看看出了什么问题 DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN GET DIAGNOS
  • JQuery 和 Chrome 扩展

    我正在尝试开发一个测试 chrome 扩展 以了解 JQuery 如何与 chrome 扩展配合使用 从提供的代码来看 我认为它应该将弹出窗口的背景更改为黄色 我尝试使用内容脚本和背景加载 jquery js 当我通过后台脚本命令加载它时
  • 在 PHP 中备份和恢复 MySQL 数据库

    我正在尝试使用 PHP 备份和恢复 MySQL 数据库 Backup dbhost localhost dbuser root dbpass dbpass dbname test output D backup test sql exec
  • 发布带有位置的状态更新

    当您向 Facebook 发布定期状态更新时 它会跟踪您当前的位置并在时间旁边提供 附近的 城市 即 5月24日附近纽约州纽约市 请注意 这是not办理登机手续 我正在尝试做同样的事情 而不搜索页面 地点 id 和签入 我尝试过发布坐标与纬
  • 捆绑包 ID 和 SKU 可以在另一个 iTunes Connect 帐户中重复使用吗?

    我正在从 iTunes Connect 中删除一个应用程序 以便将其重新上传到新公司的新帐户中 从 iTunes Connect 开发者指南中 我了解到只要是从原始帐户以外的另一个帐户完成的 应用程序名称就可以重复使用 但是 Bundle
  • 使用查找/替换来清除 vbNullString

    我有一个电子表格 它在我们的 Enterprise 系统中生成为报告并下载到 Excel 电子表格中 生成的电子表格中的空白单元格并不是真正的空白 即使不存在任何数据 并且空白单元格不包含 空格 字符 例如 A2 中的以下单元格公式返回 T
  • 如何在 Tensorflow 中使用 freeze_graph.py?

    我在冻结 Tensorflow 中的模型时遇到问题 我想在 Unity 中使用它 但它们需要将冻结图作为 bytes 文件而不是 pb 除了 freeze graph py 之外 还有其他方法获取字节文件吗 我不断收到此错误 类型错误 na
  • 在 SQL (MySQL) 中根据今天的日期返回查询结果

    我有一个疑问 我得到了帮助 但我陷入了另一个困境 我的代码是 SELECT a name COUNT AS num FROM table2 b INNER JOIN table1 a ON b status id a id GROUP BY
  • 在网络浏览器中欺骗 URL

    假设我获得了某个页面的源代码 例如http example com 我现在想将此源代码写入 Web 浏览器 使用类似以下内容 myWebBrowser Navigate about blank myWebBrowser Document W
  • 发布到 beta.6 后 angularfire2 无法工作

    angularfire2 发布到 beta 6 后 我无法正确执行我的 Ionic2 应用程序 这就是问题所在 21 54 35 lint finished in 4 51 s 21 54 35 typescript uy Network
  • 带百分比的 SVG 进度圈

    我使用此处找到的代码创建进度圈 http codepen io JMChristensen pen Ablch 但我不希望它那么大 所以我将内圆和外圆的圆半径更改为 40 而不是 90 问题是在我这样做之后 显示百分比的圆停止工作 无论我在
  • 传递给函数的最佳方式是什么 - 变量还是数组/对象?

    将数据传递给函数 变量或数组 对象 的最佳实践是什么 例如 我需要大多数功能的用户信息 我应该传递包含所有信息的完整用户对象 还是只传递我需要的信息 始终是用户名 有时是 id 很少有其他用户信息 function do something
  • 将三个字符的语言代码 (ISO 639-2) 转换为两个字符的代码 (ISO 639-1)

    我正在使用文本转语音 TTS 引擎开发 Android 应用程序 TTS 组件返回可用语言列表作为列表Locale对象 但这两种方法Locale getLanguage and Locale getISO3Language每个Locale对
Powered by Hwhale