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

    • Well...i dont wanna flame him or defame him ,2 months after the order and he havent delivered and tbh this isnt my issue...he just stopped responding,he didnt scammed me or anything like this..Just ghosting 😄
    • I cant respond for personal issues that anybody can face in real life.  About Nevesoma, for sure he gonna deliver you, just realize how many clients and orders he has. Please be patient, things need time. Sincerely.
    • Yeah…i will need other alternatives   Neves0ma i hired him to do a job and never delivered and keeps ghosting me Ave dont respond to me,i hired him and then canceled order and since then we cant work together 
    • The Dawn of Book in the NPC's hand isn't showing up. Is there a way to fix this?   This NPC is probably the only one in the game who wields a weapon with his left hand.   Weapon :[dawnn_book]    =    5802   I've tried several server-side programs, including Java emulators, and they all seem to have this problem. Or is there some special game mechanic controlling this NPC?   npc_begin teleporter 31081 [dawn_priest_giran] category={} level=70 exp=429634523 ex_crt_effect=1 unique=0 s_npc_prop_hp_rate=1 race=human sex=male skill_list={@s_npc_prop_race_human;@s_npc_prop_hp_lv_p0;@s_npc_prop_mp_lv_p0;@s_npc_prop_pa_lv_p0;@s_npc_prop_ma_lv_p0;@s_npc_prop_pd_lv_p0;@s_npc_prop_md_lv_p0;@s_npc_prop_armor_type_n;@s_npc_prop_weapon_type_fist;@s_full_magic_defence} slot_chest=[] slot_rhand=[] slot_lhand=[dawnn_book] collision_radius={8;8} collision_height={30.5;30.5} hit_time_factor=0.6 hit_time_factor_skill=-1 ground_high={120;0;0} ground_low={50;0;0} str=40 int=21 dex=30 wit=20 con=43 men=20 org_hp=2444.46819 org_hp_regen=7.5 org_mp=1345.8 org_mp_regen=2.7 base_attack_type=fist base_attack_range=40 base_damage_range={0;0;80;120} base_rand_dam=10 base_physical_attack=688.86373 base_critical=4 physical_hit_modify=5 base_attack_speed=253 base_reuse_delay=0 base_magic_attack=470.40463 base_defend=295.91597 base_magic_defend=216.53847 base_attribute_attack={none;0} base_attribute_defend={150;150;150;150;150;150;150} physical_avoid_modify=0 shield_defense_rate=20 shield_defense=147.957985 safe_height=100 soulshot_count=0 spiritshot_count=0 clan={} ignore_clan_list={} clan_help_range=300 undying=1 can_be_attacked=0 corpse_time=7 no_sleep_mode=0 agro_range=1000 passable_door=0 can_move=1 flying=0 has_summoner=0 targetable=1 show_name_tag=1 npc_ai={[dawn_priest_giran];{[MoveAroundSocial]=0};{[MoveAroundSocial1]=110};{[ssq_priest_type]=2}} event_flag={0} unsowing=1 private_respawn_log=0 acquire_exp_rate=0 acquire_sp=0 acquire_rp=0 corpse_make_list={} additional_make_list={} additional_make_multi_list={} ex_item_drop_list={} fake_class_id=-1 npc_end  
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock