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

    • 🚀 IronLock Shield - Closed Beta Update Hello everyone, Since our first announcement, IronLock Shield has received several major protection upgrades. IronLock Shield is a security platform developed specifically for Lineage II Interlude servers, focused on launcher integrity, runtime protection, session security, and anti-bot hardening. Current protection features: ✓ Secure Launcher Architecture ✓ HWID-Based Licensing ✓ Signed Launcher Session System ✓ Gateway Session Verification ✓ Automatic Session Revoke on Critical Detection ✓ Replay Protection with Nonce Validation ✓ Runtime Integrity Verification ✓ Secure Update System Client-side protections: ✓ Anti-Debug Protection ✓ Anti-Dump Protection ✓ DLL Injection Detection ✓ Manual Map Detection ✓ Remote Thread Detection ✓ Runtime Patch Detection ✓ Suspicious Handle Detection ✓ Memory Read / Write Guard ✓ Strict DLL Hash / Allowlist Control ✓ Launcher Self-Protection ✓ Watchdog Protection Bot and automation hardening: ✓ Adrenaline / Memory Reader Hardening ✓ Runtime Decoy Memory Regions ✓ Fake Pointer-Chain / Offset Noise ✓ Per-Build Mutation System ✓ Pointer Scan Disruption ✓ Virtual Keyboard Input Detection ✓ Hookless Virtual Mouse Click Detection ✓ Raw Input Based Mouse Verification Server and gateway security: ✓ Signed Launcher-to-Server Requests ✓ Build ID Binding ✓ HWID Binding ✓ IP / Session Binding ✓ Expired Session Blocking ✓ Revoked Session Blocking ✓ Gateway Runtime Session Checks ✓ Critical Detection Reporting Panel Recent improvements: ✓ Improved protection against memory-reading bots ✓ Added decoy pointer-chain memory traps ✓ Added per-build mutation data ✓ Added stricter process handle policy ✓ Added hookless virtual mouse click detection ✓ Improved watchdog stability to reduce false positives ✓ Improved session revoke logic for critical detections ✓ Updated website and protection feature list IronLock Shield is currently in closed beta. Selected Lineage II Interlude server owners can receive 1 month of free access in exchange for testing and feedback. Website: https://ilshield.com If you are interested, feel free to send me a private message or contact me through Discord. Thank you.
    • Contacts for communication. Telegram https://t.me/a_dvertising_man Telegram short link @a_dvertising_man   Delta Chat https://i.delta.chat/#11D46642C67CF6BDD4BD6430EB8AE99106CC54D7&v=3&i=u1npSLMZpUfcnWi5FGHNBn-1&s=GjBgI7oXKcuCXGl1acvt0tcp&a=p2norrc0e%40nine.testrun.org&n=advertisingman Hello. I participate in "forum deal" in role middleman. Paid services in graphic design,garant service(https link to profile) is provided only from buyer. Please write me in messenger for contact who are you by nationality and in which country you live.   I will not conduct deals with buyers and sellers from Ukraine. I do not cooperate with country Ukraine. If you Ukrainian by nationality or live in Ukraine,ignore this topic. If you other nationality: paid service from garant service buyer pays using own money.   Garant service(https link to profile) provided only from buyer. Buyer provides address guarantor service(https link to profile) or multiple addresses guarantors services. If seller don't like this garant service address(seller may doubt whether he will receive money from this garant service),then buyer offers another address garant service or multiple addresses guarantors services. If neither address seller doesn't like,then buyer is leaving from me.   Buyer deposits full amount to payment details guarantor service, plus my commission(my percent above amount for service in graphic design). In "forum questionnaire" buyer writes: payment details from seller,payment details seller i will send to buyer in advance via messenger.   Paid creation avatar and banner(price depends from complexity work). Paid creation visuals for music releases,for promo art(price depends from complexity work). Original posters using stock images(price depends from complexity work). Design for social media:covers,previews(price depends from complexity work). Other paid services in graphic design(price depends from complexity work).  
  • 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..