如何限制Android中的字符串

时间:2017-09-12 04:54:50

标签: java android string

在我的申请表中,我想在TextView中显示一些文字(日期) 我从服务器获取此文本,我想在TextView中显示此文本 我从服务器获取此文本:

  

2017年12月16日

但我想表明这样:

  

2017

如何删除 16 Dec

7 个答案:

答案 0 :(得分:4)

试试这个

Tuple2

答案 1 :(得分:1)

尝试使用split()

  

java string中有split()方法的两个签名。

     

public String split(String regex)
      并且,
  public String split(String regex, int limit)

     

在Java中使用split字符串是使用.split(" ")根据提供的模式拆分string,返回一个String数组。

示例代码

String date="16 Dec 2017";
String [] dateParts = date.split(" ");
String day = dateParts[0];
String month = dateParts[1];
String year = dateParts[2];

答案 2 :(得分:0)

你可以用“”的空格分隔字符串,即空格,尝试用“”分割字符串,如下所示: -

String date = "16 Dec 2017";
String[] date = date.split(" ");
//for only 2017 you can use date[2] 

答案 3 :(得分:0)

请注意,有几种方法更优雅,更正确,通常你使用Date对象,只是改变它的样子......

但是按照你的意愿,我的回答是:

我不会拆分,因为创建一个只能获得它的一个元素的数组是浪费......

你可以使用子串方法

String xdate = "16 Dec 2017";
System.out.println(xdate.substring(xdate.length() - 4, xdate.length()));

答案 4 :(得分:0)

在java 8中你可以这样做:

Date date = new Date(); //Create a Date object with date provided from TextBox
LocalDate localDate = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
int year  = localDate.getYear();
int month = localDate.getMonthValue();
int day   = localDate.getDayOfMonth();

因为你只希望年份int year = localDate.getYear();能给你一年。

答案 5 :(得分:0)

如果您想要日期的子字符串,其中只有年份,即最后4个数字,然后尝试下面的代码

    String date="16 Dec 2017";
    int a = date.length();
    String d = date.substring(a-4,a);

答案 6 :(得分:0)

你也可以试试这个,如果你有约会和时间或更多日期数据

String requested_date = "16 Dec 2017";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd MMM yyyy");
Date dateObj = simpleDateFormat.parse(requested_date,new ParsePosition(0));
dateObj.getYear();