+ 2

How to know the number of blank spaces consumed by a tabulation ?

Hello everyone, Im writing a program which reads a file and enable to locate(Line, Column) some word in the file. My problem is when it reaches a tabulation(\t) the Column value is incremented by 1 as it was a simple blank space. I have also noticed that the blank spaces depend on text editor. So, how can i get the number of blank spaces consumed by a tabulation ?

21st Aug 2018, 3:57 PM
🌍 TATOU
3 Antworten
+ 1
This has to do on how your text editor processes the so-called "control characters". On Notepad++, you can configure the number of spaces of a tab as follows: Settings // Preferences // Language // Tab Settings box // [Default] // Tab size
21st Aug 2018, 6:51 PM
Seymour_ARM
Seymour_ARM - avatar
+ 1
Mario Álvarez Revuelta Thx for your answer. I know this way. Do u know how can i get it programatically, for example, by using some code ?
21st Aug 2018, 7:38 PM
🌍 TATOU
0
I use python. Let's say you have read a line from a *.txt, stored in S: >>S = 'asd asd asd asd' being the first and last blank spaces a tab. If you ask python to print it, it will output the before mentioned S, although internally its interpreted as: 'asd\tasd asd\tasd\n' Well, you can make this S string to become a raw string through: >>rawS = '%r'%S This avoids all control characters to be interpreted, writing them as a string. Let's print it: >>print(rawS) 'asd\tasd asd\tasd\n' At this point it would be easy to read all characters and if '\' is found and followed by 't', replace them by the desired number of spaces. I guess there are simpler ways to solve this, but this is what I would do if I were you and had to work this out quickly. I think that you can use raw string conversion using other programming languages, if you're not on python. Hope it helps.
21st Aug 2018, 8:18 PM
Seymour_ARM
Seymour_ARM - avatar