Jump to content
  • 0

How do we split strings in java


Question

Posted (edited)

Hi guys,

 

I have a code snippet here:

String str = msgCont.toString();
    String[] strs = str.split("\n");

    if (strs[2].startsWith("partofthemessage") && strs[2].contains("x")) {
        Main.handleDonation("y", strs[2].split("\\)")[0].split("\\(")[1], str.split("xx: ")[1].substring(0, 17), (int)Double.parseDouble(strs[2].substring(57, strs[2].indexOf(" x"))));
");

 

Will someone care to explain if :

 

 

String[] strs = str.split("\n");

    if (strs[2]

 

means the second string of the msg content?

 

 

Thanks!

Edited by mytuo

11 answers to this question

Recommended Posts

  • 0
Posted

The first element of an array is accessible by the value 0. The 2nd element has the position 1.. the 3rd element 2....

array[0] = first element

...

array[2] = 3rd element.

 

The code is hardcoded. Rework it 

  • 0
Posted
10 minutes ago, melron said:

The first element of an array is accessible by the value 0. The 2nd element has the position 1.. the 3rd element 2....

array[0] = first element

...

array[2] = 3rd element.

 

The code is hardcoded. Rework it 

The guy don't even know how to post a code using tag and u tell him something only people with months of knowledge will understand and then to rework it.

 

I would post a clap clap gif but no worth it. Write him down about volatiles too.

  • 0
Posted
19 minutes ago, Kara` said:

The guy don't even know how to post a code using tag and u tell him something only people with months of knowledge will understand and then to rework it.

 

I would post a clap clap gif but no worth it. Write him down about volatiles too.

I could just say array[2] = 3rd element. But I preferred to explain it a bit..

 

Maybe that guy, one day will be better than us :D

  • 0
Posted
1 minute ago, melron said:

I could just say array[2] = 3rd element. But I preferred to explain it a bit..

 

Maybe that guy, one day will be better than us :D

 

We will both dead till that day. Or even worst. You will be father with 3 kids who laugh at your coding and a wife who says STOP using the damn computer and help me do laundry U FUCK!

 

Or u can end up like tryskell. No girlfriend, 1 friend who visit you every 3 months from California and you sit with him for 2 hours to eat french croisons and a freemium girlfriend (If you know what i mean :troll:)

  • 0
Posted (edited)

I appreciate all the attention guys :) Honestly I'm new to Java, that's true and I'm trying to debug the automatic donation system from l2 packs like ava mythras etc. The project is totally local, no publishing, no selling, just wanna get it done. I got to tweaking the source java to :

 

public static void decode(Message msg) throws Exception {
    Object msgCont = msg.getContent();
    String from = msg.getFrom()[0].toString();
    String str = msgCont.toString();
    String[] strs = str.split("\n");
    if (strs[2].startsWith("This email confirms that you have received a donation of") && strs[2].contains("EUR")) {
        Main.handleDonation("Paypal", strs[2].split("\\)")[0].split("\\(")[1], str.split("Confirmation number: ")[1].substring(0, 17), (int)Double.parseDouble(strs[2].substring(57, strs[2].indexOf(" EUR"))));
        return;
    }
    System.out.println("[FATAL] Corrupted donation from:\n->" + from + " (Please check this eMail)");
}

 

 

 

However I still get the exception about the corrupted donation.

 

The system goes into my mailbox, reads the mail but it doesn't decode it correctly.

 

The e-mails come in like this :

 

image.png.54c300172ebcc40cc75e516f71d8a001.png

 

and my understanding is that the 3rd line is exactly what it should be.

 

The function does not even go to Main.handleDonation, it dies at if (strs[2].startsWith, so it must not recognize the text correctly

 

I'm struggling alone on this for 2 days now.

 

Thanks again to people wanting to help :)

 

:D 

Edited by mytuo
  • 0
Posted (edited)

String#split generates an array of String based on the pattern you put as parameter, in your case \n, which is the symbol of new line.

 

An array starts at 0, so a 100 size array goes from 0 to 99, getting the 100th, 101th, etc element would end into IOOBE (index out of bounds exception).

 

To debug such crappy stuff, the easiest is to log each cut element and see if it's supposed to be cut that way.

 

Use

System.out.println(Arrays.toString(strs));

To see how your tokens are generated, if they are correctly formed, etc.

 

You can also put logs into handleDonation to see what the transformed Strings are.

 

@Kara` I got a gf, and I visit my friends (14y of friendship for the oldest) every month for some roleplaying session (I'm the DM).

Edited by Tryskell
  • 0
Posted
9 minutes ago, Tryskell said:

String#split generates an array of String based on the pattern you put as parameter, in your case \n, which is the symbol of new line.

 

An array starts at 0, so a 100 size array goes from 0 to 99, getting the 100th, 101th, etc element would end into IOOBE (index out of bounds exception).

 

To debug such crappy stuff, the easiest is to log each cut element and see if it's supposed to be cut that way.

 

Use


System.out.println(Arrays.toString(strs));

To see how your tokens are generated, if they are correctly formed, etc.

 

You can also put logs into handleDonation to see what the transformed Strings are.

 

@Kara` I got a gf, and I visit my friends (14y of friendship for the oldest) every month for some roleplaying session (I'm the DM).

 

Plz tell me SweeTs is dressed like anime girl and i quit maxc forever.

  • 0
Posted
On 3/18/2019 at 3:56 AM, mytuo said:

Honestly I'm new to Java,

 

The system goes into my mailbox, reads the mail but it doesn't decode it correctly.

 

:D 

Paypal prvovides IPN (instant payment notification) when a payment is done paypal notifies a given link with the payment details, after that you validate and proceed to save the information into database, then you handle how you will distribute it into your java code read (SELECT FROM etc...) and then reward.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • Hello!   I am sharing http://rib.quakeroach.net/lineageii_sina_server_c1.rar   I am looking for LineageII_meifu_server_C1.zip which has a size of 185668335 bytes.
    • ⚡ Running out of Google Drive space? Get 5TB permanent storage & Gemini Pro for up to 18 months directly on your account on KloudItem!
    • 🥇 PRESENTANDO: CREST CONVERTER PRO - LA EVOLUCIÓN DEFINITIVA 🪄✨ Para administradores de servidores y jugadores de Lineage 2 que exigen la máxima precisión, presentamos CREST CONVERTER PRO. Tomando como base la sólida fundación del popular L2 Crest Converter gratuito, he desarrollado esta nueva edición profesional para llevar la fidelidad gráfica de los emblemas de clan al siguiente nivel., esta nueva edición profesional ha sido desarrollada por PULSER-X (yo) para llevar la fidelidad gráfica de los emblemas de clan al siguiente nivel. Olvide las limitaciones de las versiones anteriores: esta variante PRO integra un motor de Inteligencia Artificial para un recorte y adaptación milimétricos, garantizando resultados impecables para los más perfeccionistas. ⚙️ CARACTERÍSTICAS TÉCNICAS CLAVE: ✅ IA de Precisión: Algoritmos avanzados derivados de nuestra herramienta clásica, ahora optimizados para recortar y centrar assets automáticamente sin distorsiones. ✅ Procesamiento Batch: Optimización y conversión masiva de docenas de archivos en segundos con calidad industrial. ✅ Compatibilidad Absoluta: Generación de emblemas limpios y listos para cualquier cliente de Lineage 2 (Oficial y Privado). ✅ Interfaz Rediseñada: Flujo de trabajo profesional y superior respecto a la versión gratuita inicial. 📺 DEMOSTRACIÓN TÉCNICA OFICIAL: Vea la potencia de esta evolución PRO en acción: 👉 https://youtu.be/pHg3M8NBBx0 🛒 ADQUISICIÓN DEL SOFTWARE: Dé el salto definitivo desde la versión gratuita y eleve el estándar de su servidor hoy mismo. Adquiera su licencia de CREST CONVERTER PRO en nuestra tienda oficial: 🔗 https://pulserx.lemonsqueezy.com/ PX-SOFTWARE - Compromiso con la Excelencia Técnica. 🎮💻
    • Everyone probably remembers that old video where the camera followed the arrow all the way to the target at 3:39:         And some of you may have already noticed something similar in my cloak video at 4:57 — the camera follows the arrow there too, although without any additional improvements.     For anyone who wants to try it themselves, the mod is available for download. Just replace LineageEffect.u in your System folder. I recommend keeping a backup of your original file.   The only difference is that in the old alpha footage, the camera seems to fly almost directly from the arrow’s point of view toward the target. I still need to experiment with that behavior, and maybe it can be recreated more closely.   Download    In its current form: 1. It triggers rarely and randomly: 15-second cooldown, then a 30% chance 2. It does not activate on every shot, regardless of attack speed 3. It does not activate when shooting at point-blank range 4. It only follows your own arrows, so combat is not interrupted 5. It is purely visual — only you can see it
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..