Forum Replies Created
- AuthorPosts
Yutaka Emura
KeymasterIf you clear the Ignore Case option in the Sort page of the Customize dialog box, the result will be exactly like this.
Yutaka Emura
KeymasterPlease write an example how this works, and why you need this type of sort.
Yutaka Emura
KeymasterI think you would like to use the Remove Newline Characters or Join Lines command.
Yutaka Emura
KeymasterOK. I now understand your question.
Currently, you can select a CSV mode (for instance Tab-separated, NOT Comma-separated) so that only one column should exist. Select the only one column, select the Split Columns command, then select (None), enter the Separator (Comma + Space in this case), set the Sort split strings option, and select a desired sort criterion.
Alternatively, you can split to multiple lines by replacing Comma + Space with a newline, sort, and then replace a newline with Comma + Space to restore newlines.
I will think about a new command in the future.
Yutaka Emura
KeymasterI am still not sure if I understand your question, but if you are talking about a nested CSV like this page:
https://www.emeditor.com/text-editor-features/more-features/nested-csv/and if you would like to sort, for instance, “apple;banana;cherry“, you can select “Split Columns” while selecting the second column, select (None), enter the separator (a semicolon in this case), set the Sort split strings option, and select a desired sort criterion.
Yutaka Emura
KeymasterThis macro will sort (A to Z, case insensitive) by row level at the current cursor (or selected cell) line. You can use this macro to develop further for different sort criteria.
function SortOneColumn( yLine ) { count = document.GetColumns(); arr = new Array(count); for( i = 0; i < count; ++i ) { s = document.GetCell( yLine, i + 1, eeCellIncludeNone ); arr[i] = { name: s, col: i }; } arr.sort( function( a, b ) { var nameA = a.name.toLowerCase(); var nameB = b.name.toLowerCase(); if( nameA < nameB ) { return -1; } if( nameA > nameB ) { return 1; } return 0; }); bSorted = false; for( i = 0; i < count; ++i ) { if( arr[i].col != i ) { document.MoveColumn( arr[i].col + 1, arr[i].col + 1, i + 1 ); bSorted = true; break; } } return bSorted; } yLine = document.selection.GetActivePointY( eePosLogical ); while( SortOneColumn( yLine ) );
I am not sure what you mean by 1. On delimiter level.
October 12, 2022 at 9:06 am in reply to: How to change encode format of thousands of files without openning them? #28722Yutaka Emura
KeymasterYou can write a macro to save a file as GB2312 (my sample as below), and then use the Advanced Open on the File menu or the Run with Temporary Options on the Macros menu to specify all the files to convert.
document.Encoding = 936; // Chinese Simplified (gb2312) s = document.FullName; nExt = s.lastIndexOf( "." ); nBackslash = s.lastIndexOf( "\\" ); if( nExt == -1 || nExt < nBackslash ) { nExt = s.length; } s = s.substr( 0, nExt ) + "-gb2312" + s.substr( nExt ); document.Save( s );
Yutaka Emura
KeymasterThe Fuzzy Matching and Regex are mutually exclusive; they can’t be used together. However, the Fuzzy Matching and Escape Sequence can be used together.
Yutaka Emura
Keymaster1. The Fuzzy Matching option becomes grayed out to show it can’t be combined with the Regular Expressions option.
2. You can set the Skip this dialog box next time option in the Fuzzy Matching dialog box, or clear the Show the Fuzzy Matching Options dialog box when selecting Fuzzy Matching option in the Search page of the Customize dialog box.
Yutaka Emura
KeymasterI did exactly the same way as the screenshot shows — “CR @”.
I don’t believe it’s an issue, but can you please try saving both your sample and linked file as UTF-16 with BOM, and see if you can still reproduce the issue?Yutaka Emura
KeymasterI downloaded your files and tested, but I still couldn’t reproduce the issue.
Yutaka Emura
KeymasterI am not sure if I understand your question. Please write a simple sample with a simple regex to reproduce the issue.
Yutaka Emura
KeymasterThe Replace in Files dialog box does NOT include the Extract button. You can use the Find in Files dialog box to open all files containing the search string first, and then use the Replace dialog with the Search All Documents in the Group option.
Yutaka Emura
KeymasterPlease email me all your files after zipped so I will look into the issue.
Yutaka Emura
KeymasterIs your linked file saved as UTF-8?
Yutaka Emura
KeymasterI couldn’t reproduce the issue. Which version of EmEditor are you using? Are you using the default regex engine (Boost.Regex)? Did you make any changes in the Advanced dialog box?
Yutaka Emura
KeymasterPlease simplify your samples as much as possible while you can still reproduce the issue, and clarify the last part of your question (after “I tried using negative lookahead like this”). Please add explanations why you believe your regular expression should not match or does not help.
Yutaka Emura
KeymasterThe Extract button is available in Find in Files dialog box. Are you using the latest version of EmEditor?
Yutaka Emura
KeymasterI’ve reproduced these issues, and they will be fixed on v21.9.915. Thank you!
Yutaka Emura
KeymasterDoes this mean everything is resolved now?
Yutaka Emura
Keymasterv21.9.914 allows you to specify a string as well as a character range.
Thanks,Yutaka Emura
Keymaster1. Great, got it. Perhaps it could be made more intuitive or some context-sensitive help added? Also, when adding the character, in order to be entered as a fuzzy match condition, one needs to click the OK button of the Character range dialog. Perhaps, an extra button near the “Treat as” like Add or Save?
I am not sure if I understand correctly, but I don’t want to put an extra OK button to the Character range dialog box. There is OK button already on the right top corner, and its design is similar to many other dialog boxes.
Yutaka Emura
KeymasterIf you want to treat
κ
asχ
, click Add in the Fuzzy Matching Options dialog box, enterκ
to both the Minimum character and Maximum character text boxes, and enterχ
to the Treat as text box.I am not sure what you mean by regex-level, but if you mean the options you can set in the Advanced dialog box (such as Regular Expressions “.” Can Match Newline Characters option), you can’t just copy these options between Find and Filter. However, you can save all these options to macros except for the Additional Lines to Search for Regular Expressions option.
Yutaka Emura
KeymasterI think the Fuzzy matching feature is more stable now. Please try the latest beta version, and let me know if you have any other comments before releasing the official version.
Yutaka Emura
KeymasterSame settings of fuzzy options are applied to the filter and all other features.
- AuthorPosts