簡體   English   中英

如何分割用戶輸入的字符串

[英]How to split a string that the user enters

好的,所以我已經看了這個 (詢問如何拆分字符串的問題),但是答案與我的問題並不真正相關。

用戶將輸入存儲在sqlite數據庫中的權重,但我也希望該數字顯示在剛剛輸入該值的TextView中(因為該應用在7天的時間內跟蹤着權重)。

當我嘗試從數據庫中獲取字符串時,將其存儲為長字符串,而我想做的就是拆分該字符串(我希望我有道理!)。

我有以下方法;

public String[] getWeight() {

    String selectQuery = "SELECT " + DowncroftContract.WEIGHT_VALUE + " FROM " + DowncroftDatabase.WEIGHT_TABLE; //+ " WHERE " + DowncroftContract.WEIGHT_DOGS_ID + " = " + str_dogsId + " ORDER BY " + DowncroftContract.WEIGHT_DATE + " ASC;";
    SQLiteDatabase db = downcroftDatabase.getReadableDatabase();
    Cursor cursor = db.rawQuery(selectQuery, null);
    String[] data = null;

    if (cursor.moveToFirst()) {
        do {
            results = cursor.getString(cursor.getColumnIndex(DowncroftContract.WEIGHT_VALUE + ""));
            String[] splitString  = results.split("");
            String split1 = splitString[1];
            String split2 = splitString[2];
            DayOne.append(split1);
            DayTwo.append(split2);
        } while (cursor.moveToNext());

    }
    cursor.close();
    return data;
}

現在,上述方法會將字符串分割成單個數字,但我似乎無法弄清楚如何分割字符串,以便每兩個數字分割一次。

EG用戶輸入20次按Enter-然后將其拖放到名為DayOne的TextView中。

第二天,用戶輸入24並按Enter鍵,然后下拉至名為DayTwo的TextView中。

我想我需要一個可能帶有for循環的數組,但是我想知道是否可以通過調整已有的東西來實現我想要的東西?

您只是意味着要每2個字符分割一個字符串?

就像你有串123456 ,你想123456

嘗試這個:

String[] split = result.split("(?<=\\\\G..)");

這將每2個字符分割一次您的字符串。 \\G斷言上一個匹配項之后的位置(如果沒有上一個匹配項,則聲明字符串的開頭),后跟2個字符。

[上面的人基本上做了同樣的事情,只是在刷新時才看到,摘要可能仍然有用。

拆分字符串的部分是String[] splitString = results.split("");

這在每個“沒有”之后分割,因此,實質上,每個字符在分割字符串之后。

這是我為您服務的一個小代碼段...

import java.util.Arrays; //only essential for the Arrays toString bit...

public class Main {

    //Static so it's usable anywhere..
    public static String[] splitStringBy(int everyXLetter, String stringCode)
    {
        // Split the given string by regex, every Xth letter...
        String[] splitIntoSingleElements = stringCode.split("(?<=\\G.{"+everyXLetter+"})");
        // Return it
        return splitIntoSingleElements;
    }

    public static void main(String[] args)
    {
        //Set some string text...
        String text = "askfjaskfjasf";
        //Split and store the string using the above function
        String[] splitText = splitStringBy(2, text);

        //Return it any way you like
        System.out.println(Arrays.toString(splitText)); // [as, kf, ja, sk, fj, as, f]
        System.out.println(splitText[0]); // as
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM