java - 从字符串中获取 2 个字符

标签 java string substring talend

我有一个字符串 FILENAME,它实际上在 foreach 循环中保存文件名。该字符串将类似于:

MyFile_TEST_INDIA_20160728
MyFile_TEST_AMERICA_20160728    
MyFile_TEST_GERMANY_20160728

我需要获取国家名称的前 2 个字符。我尝试了以下内容:

String rmtdir = Filename.substring(Filename.length() - 12, Filename.length() - 12);
System.out.println(rmtdir); 

但是通过使用它我只能获得印度所需的数据。
对于其他国家/地区,我需要手动更新子字符串的第二部分,同时牢记国家/地区的扩展长度。

比如美国和德国:

String rmtdir = Filename.substring(Filename.length() - 12, Filename.length() - 14);

有什么方法可以转到起始索引并选择要选择的位置数?

最佳答案

假设格式像这两个例子,我会使用 split() 和 substring()

 String test = "MyFile_TEST_INDIA_20160728";
 String countryCode = test.split("_")[2].substring(0,2);
 System.out.println(countryCode); // print IN 

关于java - 从字符串中获取 2 个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38632600/

相关文章:

java - 将 Java SE 端点与嵌入式 Tomcat 结合使用

java - pymongo collection.find()与Java MongoDatabse.getCollection.find()

python - 我收到类型错误 : '<' not supported between instances of 'str' and 'int'

c++ - 在 C++ 中初始化为 NULL 的字符串

java - 查找包含数组中所有单词的字符串的子字符串

java - 更改 Karaf 上的 hawtio 端口

python - 为什么在 Python (\n) 中更改字符串中的行不起作用?

java - 从字符串 s 中打印给定大小 k 的字典顺序最小和最大子字符串

java - 将字符串分成多个部分

java - 在JPA中创建表之间的关系