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

    • Add some share links, would be nice for people that still looking for them!
    • Please do not insult anybody and respect other works. Do not have hateful behaviour, last warning.
    • You cant add cloaks on interlude packs, is possible to find ones but will never work correct on character.
    • Hello everyone, want to sell some of my custom features in my server, someone might be interested. Collections: (50euro) - you need ingredients (min/max) - can you choose enchant level  - reward : custom skills Enemy Inventory and stats checker: (25euro) - you can check what is your enemy wearing - how much is it enchanted - you can see his detailed info about stats - pvp/pk/rebirth/pve dmg etc anything can be added Gamble (random craft item) - (50 euro)  - by using command .gamble - windown will pop up  - name of the item / chances / % of your points / maximum you can have shows  - you can buy instantly points / or item can be made for that  - each pack can have different prices/items  - refresh give another 5 random items. Custom Enchant System: (20euro)  - target all grades - one scroll can be used for any grade  - increaseEnchantby / decreaseEnchantBy Custom Rotated Farm Zone: (50euro)  - players will be automaticly flagged when enter / unflagged when leave  - you can make any zone like that  - you can add any restriction you want or dont.  - Rotation will be announced in Global  Chat  - in zone drop will be increased by 30% - or you can modify by config  - maybe you want zone where they need lets say 10x Enter to enter can be done - i can give you code, or i can also implement for you - if you want some other custom code, and im able to do it you can ask me discord:expllo#8222 or just expllo - if you won't find, message me here.  
  • 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..