KJV Bible Project - Strange String Copy & Paste Issue Found


The Project is for Andriod and PC
Im putting together a KJV bible App and have found a strange problem with blueprints and strings.

When I copy text from a site which contains the Bible text and past it into a string Unreal Engine decides to change the case of some letters
found through the sentence.

Copy Text
“The LORD said unto my Lord, Sit thou at my right hand, until I make thine enemies thy footstool.”

**Unreal Pastes This Into a String Varaible As **
“The Lord said unto my Lord, Sit thou at my right hand, until I make thine enemies thy footstool.”

Is there a way to stop the Engine Doing this?

If not how do I go about searching all the chapters (each chapter is a string) to find all the errors that need corrected?

What I Have So Far

  • Each Chapter is a String
  • Ive added all those strings together into an array
  • Im now wondering how to find the search word “LORD” and display all the parts of the bible where it appears so I can manualy correct the text.

Any help would be very welcome.
There is no payment available as this is a free app and software project.

Depending on how your project is structured you could try pasting the chapter into a row in a DataTable instead of having it hardcoded into a string. I’ve just done a quick check and pasting text with all-caps words does work fine for data tables. It may help you organize and import the text as well. You could have each row be a verse or an entire chapter. Then just pull the text from the DataTable when you need to display it.

Thanks Antsonthetree,

The time it would take to copy and paste each verse into a table would be months which is why I decided on each chapter being
copied and pasted into a string instead. And with them allnow in strings I dont really want to go through that again.

I do see the advantages of the table setup but its not an option because of time really.

I managed to find a site which does searches so I now have a word document with every mention of LORD or GOD in it so Im simply
going through that and correcting the text in each string.

Why the Engine changes any characters I dont know as Ive never come across that in another program. I wonder if Epic know
its doing it as it seems a strange bit of code to add to the Engine otherwise.

I did hope Epic would say you can stop the engine changing characters when pasting into a string but you obviously cant. It just seems
such a strange setup and it means you have to double check everything being pasted into a string variable as you cant be sure now
whats being changed and what isnt.

I appreciate the idea and maybe for V2 of the App Ill get the time to use tables as the string and array option might prove too complicated for me to
make a decent search tool with.

Hello again. UE4 allows you to import CSV files directly into DataTables. There are a couple of sources on the web that provide KJV in CSV file format. Here is one on github that breaks each line by book, chapter, verse: BibleViewer/KJV.csv at master · calebbriggs/BibleViewer · GitHub

You may have to pull it into excel first and massage it a little to get it to work. Anyway just sharing what I know.

I just pulled down that KJV CSV file and imported it directly into a data table. If you’re interested in doing that here are the steps. Or you can just PM me your email address and I will send you a UE4 project that already has it in there. You can then migrate it to your own project.

  1. Create a struct with these members: Book (int), Chapter (int), Verse (int), Text (string).
  2. Create a datatable based on that same struct.
  3. Download link above and name it Bible.csv.
  4. Open it in Excel and add a blank column to the left of the first column.
  5. Add a blank row before the other rows.
  6. In the top empty row add this to the first 3 columns.
    —, Book, Chapter, Verse, Text
  7. This is the tricky part, you need to use the excel functions to create unique numbers down the left most column.
  8. Save this file and then use notepad++ to remove the trailing CR from the end.
  9. Import into your data table.

Best of luck.