Remove of non-printable characters from string
Hi Gurus,
How can I achive that? I have a string in which sign "end of line" occurss. How can I delete them?
BR
Marcin Cholewczuk
Hi Marcin,
Just use a [REPLACE|http://help.sap.com/abapdocu_70/en/ABAPREPLACE.htm] with a regular expression (Assuming variable STRING holds your data):
replace all occurrences of regex '[\n\r]+' in STRING with ''.
Note that I replaced newline ('\n') - also called end of line - and carriage return ('\r') with nothing (matching your delete request). This might not be wanted if you have a true multiline string. If you're more paranoid and want to cover more cases, you might want to replace any non-displayable characters using '\[\[:print:\]\]+' as your search pattern. So if you want to replace non-displayable characters with a space and just kill it at the end of the string you could use something like this:
replace all occurrences of regex '[^[:print:]]+(?!$)' in STRING with ` `.
replace all occurrences of regex '[^[:print:]]+$' in STRING with ''.
Cheers, harald
Similar Messages
-
Removing non-numeric characters from string
Hi there,
I need to have the ability to remove non-numeric characters from a string and I do not know how to do this.
Does any one know a way?
Example:
Present String: (02)-2345-4607
Required String: 0223454607
Thanks in advanceDear NickM
Try this this will work...........
create or replace function char2num(mstring in varchar2) return integer
is
-- Function to remove Special characters and alphebets from phone no. string field
-- Author - Valid Bharde.(India-Mumbai)
-- Date :- 20 Sept 2006.
-- This Function will return numeric representation.
-- The Folowing program is gifted to NickM with respect to his post on oracle site regarding Removing non-numeric characters from string on the said date
mstatus number :=0;
mnum number:=0;
mrefstring varchar2(50);
begin
mnum := length(mstring);
for x in 1..mnum loop
if (ASCII(substr(upper(mstring),x,1)) >= 48 and ASCII(substr(upper(mstring),x,1)) <= 57) then
mrefstring := mrefstring || substr(mstring,x,1);
end if;
end loop;
return mrefstring;
end;
copy the above program and use it at function for example
SQL> select char2num('(022)-453452781') from dual;
CHAR2NUM('(022)-453452781')
22453452781
Chao!!! -
Removing non printable characters from an excel file using powershell
Hello,
anyone know how to remove non printable characters from an excel file using powershell?
thanks,
jose.To add - Excel is a binary file. It cannot be managed via external methods easily. You can write a macro that can do this. Post in the Excel forum and explain what you are seeing and get the MVPs there to show you how to use the macro facility
to edit cells. Outside of cell text "unprintable" characters are a normal part of Excel.
¯\_(ツ)_/¯ -
Remove all non-number characters from a string
hi
How i can remove all non-number characters from a column ? for example , i have a column that contains data like
'sd3456'
'gfg87s989'
'45/45fgfg'
'4354-df4456'
and i want to convert it to
'3456'
'87989'
'4545'
'43544456'
thx in advOr in 9i,
Something like this ->
satyaki>
satyaki>with vat
2 as
3 (
4 select 'sd3456' cola from dual
5 union all
6 select 'gfg87s989' from dual
7 union all
8 select '45/45fgfg' from dual
9 union all
10 select '4354-df4456' from dual
11 )
12 select translate(cola,'abcdefghijklmnopqrstuvwxyz-/*#$%^&@()/?,<>;:{}[]|\`"',' ') res
13 from vat;
RES
3456
87989
4545
43544456
Elapsed: 00:00:00.00
satyaki>
{code}
I checked this with minimum test cases. It will be better if you checked it with other cases.
Regards.
Satyaki De. -
Need help in removing non printable characters
hi
I am having an issue with non printable characters in webservice. This webservice dishes out xml in B2B communication to my clients programs. Due to data corruption in oracle (dont know who is creating bad data ) I am having non printable characters in the xml file which is generated from database. I am dishing out this to our customers. since the data in updated every day it is imposible to fix the data every time. I need to write a very very effficient method to strip non printable characters from strings from the xml. Can some one Please help on this one. I want to make sure this method is very efficient because this method could be potentially be called lots of times. I am using JDK 1.3.1 and oracle 8i
Any help will be appreciated
Thanks
Ashok PappuAt some point you existing program is probably converting from String data to the XML bytes through a CharsetEncoder, probably inside a java.io.Writer.
Perhaps your best approach might be to write your own java.nio.charset.CharsetEncoder which deals with the bad characters as you see fit.
You can register a new java.nio.charset.CharSet as a private character set type. Because this should result in simply replacing a standard CharsetEncoder with a non-standard one hopefully the overheads would be low. -
Removing Non-Ascii Characters from a String
Hi Everyone,
I would like to remove all NON-ASCII characters from a large string. For example, I am taking text from websites and would like to remove all the strange arabic and asian characters. How can I accomplish this?
Thank you in advance.I would like to remove all NON-ASCII characters from a large string. I don't know if its a good method but try this:
str="\u6789gj";
output="";
for(char c:str.toCharArray()){
if((c&(char)0xff00)==0){
output=output+c;
System.out.println(output);
all the strange arabic and asian characters.Don't call them so.... I am an Indian Muslim ;-) ....
Thanks! -
Removing non-printable characters
Hi All,
I was suppose to remove all non-printable characters, hence created below function. But in trouble for some rows in table.
function ar1(i_value in varchar2)
return varchar2
as
pattern varchar2(1000) := '][';
l_strVal varchar2(1000);
begin
for i in 32 .. 126 loop
pattern := pattern || case when chr(i) = '''' then ''''''
when chr(i) in ('[', ']') then null
else chr(i)
end;
end loop;
l_strVal := regexp_replace(i_value, '([' || pattern || '])|.', '\1', 1, 0, 'n');
return l_strVal;
end;
/Could anyone please help me, is this right way to do it.
Problem is occurring for one row as shown below.
SQL> select num, ar1(author) author1, author from doc where doc_num =37;
NUM
AUTHOR1
AUTHOR
15098137
OM LESRAVI{|~
OM LES
RAVIIts removing non-printable characters but not sure how these {|~ are included in the resultant.
Would be great if anyone can help me.
Edited by: YasserRACDBA on Nov 9, 2010 3:53 PMThanks....but even your method is giving worng result as shown below.
SQL> select regexp_replace(author,'[[:cntrl:]]')
2 from doc where doc_num =15098137;
REGEXP_REPLACE(AUTHOR,'[[:CNTRL:]]')
OM LESRAVI{|~Is there any clue please...how come those {|~ are there?? -
Removing non-English characters from data.
Ours is global system with some data with non-English characters. We want to download file by removing this non-English characters.
Any suggestions how we can remove these non-English characters from file..?The FM u said
Replace non-standard characters with standard characters
Functionality
SCP_REPLACE_STRANGE_CHARS processes a text so that it only contains
simple characters. Special characters and national characters are
replaced in such a way that the text remains reasonably legible.
The character set 1146 is used by default. In this case the following
replacements are made, for example:
Æ ==> AE (AE)
 ==> A (Acircumflex)
Ä ==> Ae (Adieresis)
£ ==> L (sterling)
Note that the new text can be longer than the old.
So i dont think it ll be useful for eliminating the sp. chars.
U have to check each and every alphabet with std 26 alphabets
Thanks & Regards
vinsee -
Detecting non printables characters in a text file
Hi,
I need to remove some non printable characters like tabs, carriage returns, line feeds,.... and so!
i want to do something like
aString.replaceAll(<the non-printable char>, "");str = str.replaceAll("\\P{Print}+", "");From http://java.sun.com/j2se/1.5.0/docs/api/java/util/regex/Pattern.html, \p{print} is printable characters and \P is the negative of \p.
-
Removing Non-numeric characters from Alpha-numeric string
Hi,
I have one column in which i have Alpha-numeric data like
COLUMN X
+91 (876) 098 6789
1-567-987-7655
so on.
I want to remove Non-numeric characters from above (space,'(',')',+,........)
i want to write something generic (suppose some function to which i pass the column)
thanks in advance,
MandipThis variation uses the like operators pattern recognition to remove non alphanumeric characters. It also
keeps decimals.
Code Snippet
CREATE FUNCTION dbo.RemoveChars(@Str varchar(1000))
RETURNS VARCHAR(1000)
BEGIN
declare @NewStr varchar(1000),
@i int
set @i = 1
set @NewStr = ''
while @i <= len(@str)
begin
--grab digits or (| in regex) decimal
if substring(@str,@i,1) like '%[0-9|.]%'
begin
set @NewStr = @NewStr + substring(@str,@i,1)
end
else
begin
set @NewStr = @NewStr
end
set @i = @i + 1
end
RETURN Rtrim(Ltrim(@NewStr))
END
GO
Code to validate:
Code Snippet
declare @t table(
TestStr varchar(100)
insert into @t values ('+91 (8.76) \098 6789');
insert into @t values ('1-567-987-7655');
select dbo.RemoveChars(TestStr)
from @t -
Inserting strings of printable and non printable characters
I would very much appreciate some help with the following
To handle an interface with a legacy system I need to create strings containing both printable and non-printabel ascii characters. And with non printable characters I mean in particular those in the range of ASCII 128 to 159.
It seems it is not possible to insert a string containting both printable and not printable characters from the afore mentioned range into a VARCHAR2 table column as the following demonstrates:
insert into test values(chr(156)); -- this inserts the 'œ' symbol.
SQL> select test, ascii(test), length(test), substr(test,1,1), ascii(substr(test,1,1))from test;
TEST ASCII(TEST) LENGTH(TEST) SUBSTR(TEST,1,1) ASCII(SUBSTR(TEST,1,1))
┐ 156 1That the the character mapped is shown as '┐' and not 'œ' is not really issue for my application, what is important is that the ASCII value is shown as 156, which is the ASCII code of the character I inserted.
What is however strange (actually probably not strange but has to do with the lack of understanding of the issue at hand) is that substr returns an empty string...
Now I try to insert a concatenated string, first the "non printable" character then a printable character
insert into test values(chr(156)||chr(65));
SQL> select test, ascii(test), length(test), substr(test,1,1), ascii(substr(test,1,1))from test;
TEST ASCII(TEST) LENGTH(TEST) SUBSTR(TEST,1,1) ASCII(SUBSTR(TEST,1,1))
A 65 1 A 65For some reason the not printable character (chr(156)) is now not inserted or at least does not appear when I selected the data from the table, this effect seems to apply to all characters in the range of ASCII 128 to 159 (tried some but not all) However for instance CHR(13) can be inserted as part of a string as shown above .
For our application I really don't care much what character is shown or not show, what is important is that I can retrieve the ASCII value and that this value matches the one I inserted which for some reason does not seem to work.
This seems to be, at least to some extent a character set issue. I have also tested this on a database with character sets set as follows
NLS_CHARACTERSET
WE8MSWIN1252
NLS_NCHAR_CHARACTERSET
AL16UTF16
With WE8MSWIN1252 the described issue does NOT occur, however unfortunately I must use NLS_CHARACTERSET AL32UTF8 which produces the results as described above!
As said any insights would be much appreciated as I am slowly but surely starting to despair.
For completions sake, character sets are set as follows (changing it is NOT an option):
NLS_CHARACTERSET
AL32UTF8
NLS_NCHAR_CHARACTERSET
AL16UTF16
The test table is created as follows
CREATE TABLE TEST
TEST VARCHAR2(1000 BYTE)
Database Version 11.2.0.3.0
Edited by: helios.taraba on Dec 2, 2012 10:18 AM --Added database version
Edited by: helios.taraba on Dec 2, 2012 10:24 AM Added description of test results using NLS_CHARACTERSET WE8MSWIN1252Hello Orafad,
Thanks for your reply, at least I understand the effects I'm seeing i.e.
+"For multibyte character sets, n must resolve to one entire code point. Invalid code points are not validated, and the result of specifying invalid code points is indeterminate."+
http://docs.oracle.com/cd/E11882_01/server.112/e26088/functions026.htm
You are absolutely right I could use chr(50579) to get the ligature symbol. However as what we are trying to achieve is to implement a legacy interface to a 20+ years old subsystem we are actually not so much interested in the symbol itself but rather in the ascii value of that symbol (156 as you so rightly point out in the win-1252 characterset), this particular field represents the lenght of the message being sent to the subsystem and can vary from decimal 68 to 164 and is also considered in a checksum calculation which is part of the message.
As changing the nls_characterset of the database is not an option I guess I only have one reasonable avenue to resolve this namely to push the functionality to added the "encoded" length of the message (and the calculation of the checksum) to the java driver which is responsible for sending the message (tcp/ip) to the subsystem. Here we should not have any issues adding a byte with the value 156 (or any other for that matter) to the datastream.
Thankfully all other fields have characters with ascii values below 128 and above 31.
I'm going to leave my question as un-answered for a bit longer in the hopes of someone coming up with a golden bullet, although not getting my hopes up.
Thanks, Helios -
Non printable characters in a text file..
hi,
How to get blank lines and non-printable characters
and remove those characters from the text file being uploaded from application server .
thanks,
Anil.Take a look at the constants in cl_abap_char_utilities. A simpler solution would be to ask for a file without such characters...
-
Servlet Displaying Quotation Marks as Non-Printable Characters
I have a servlet which is reading an HTML file and displaying it's contents. My problem is that, in the output, quotation marks in the source html (" and ') are being reproduced as non-printable characters (). Furthermore, the same servlet prints the quotation marks fine under the Linux OS and Apache Web Server, but does not under the Windows (2000) OS and IIS Web Server (running j2sdk-1_3_0_02-win). Any suggestions would be appreciated. Code in question is below. "str" is the line from the file. :
FileReader freader = new FileReader (filePath);
BufferedReader breader = new BufferedReader(freader);
String str = null;
while ((str = breader.readLine()) != null) {
document = document + str + "\n";
freader.close();Technically, you don't need to add the "\n" in there anyway. Newlines mean nothing to an HTML file if all you're doing is displaying that file. The lack of a carriage return, when the HTML is parsed, is completely irrelevant.
Also, when handling large String concatenations, it's always going to be more efficient to use StringBuffer.
StringBuffer sbDocument = new StringBuffer();
while((str = breader.readLine()) != null)
sb.append(str);
String document = sbDocument.toString() -
Robohelp 9 .properties file inserting non-printable characters @ export
I have a mapped help file that I am generating for integration to an online application. When we export the .properties file from the Project Set-up pod, the mapped files appear to be fine, if viewed in Notepad (see below).
However, when this is viewed in a different text editor, you can see that RoboHelp added additional non-printable characters to the .properties file (see below).
We've tried generating this from different computers, exporting it to different locations, retyping the initial entry, and haven't found a solution to this issue.
Does anyone know if there is a fix available? Are we doing something wrong?
Thanks!!
KellyAsk your developers if they think these characters could be what are known as BOM (byte order marks).
That is something can be seen in some files using the default encoding. There it can be changed by changing the encoding in the SSL dialog.
Maybe that explains it and if that is the cause, I don't know how you would prevent it here in Rh. I think you will have to live with your own solution.
See www.grainge.org for RoboHelp and Authoring tips
@petergrainge -
Non Printable Characters in varchar or varchar2 filed
How can I know if a filed has non-printable characters.
An example :
TEST@db102 SQL> insert into test values('aaa'||chr(13)||'bbb'||chr(10)||'ccc');
1 row created.
TEST@db102 SQL> select * from test;
A
bbb
ccc
TEST@db102 SQL> select dump(a) from test;
DUMP(A)
Typ=1 Len=11: 97,97,97,13,98,98,98,10,99,99,99
TEST@db102 SQL>
Maybe you are looking for
-
I just set up mine and my wife's iphone 4 on new ios5 and icloud settings. I have both phones on one account and actually she purchases apps/music with my sign in and password on her phone. Now that we are set up on icloud settings, her phone is re
-
Is there a way to limit Purchase Order Display by Cost Center?
We want to limit who can view specific purchases. Has anyone done this before? Thanks! Chris Lintner
-
Cannot bind tibco's jms connection factory to wls jndi
we are using wls 6.1 sp2. I am trying to bind tibco's jms connection factory and queue from a standalone client to weblogic's jndi tree so that apps on wls can lookup these object in wls jndi locally. I have included the required classes in the class
-
I'm ready to send my fcp audio via 'Send to' to STP, but once it opens, it's only showing 2 or 3 clips out of the entire audio sequence. About 95% of the audio is missing/not visible in the STP timeline. Anybody have a solution for this? I've used S
-
Suppressing Details based on two or more formula
Post Author: rachelcameron CA Forum: Formula formula = {loan_main.datepurchased} <> {?Date Purchased} AND not ({loan_query.reivname} like "wells") i am suppressing the above fields in details b of a report. however, the report is not acknowledging th