- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试清理用户输入的字符串(任何包含不需要的字符、变音符号等的内容),并仅替换为一个不带空格的字符串。
我遇到了这个错误:
Execution failed: SyntaxError: Unterminated parenthetical.
它停在这一行:idoff = accented.search(a2.charAt(i));
当我们遇到几个重音字母(变音符号)时,我能够更新旧的遗留代码。我看到了可以用来解决它的代码,但不知何故我不知道如何解决这个问题。
function clean(a2) {
/* if string contains accented letters, index below and use regular text */
var accented = 'ÁÀÂÃÄÄÅÆáàâãäåąÇçćčÐÉÉÊËèéêëðęÍÍÎÏíîïłÑñńÖÓŐÓÔÕØöóőôõøÜŰÙÚÛÜüűúûŠšŸÿýŽžŻżŁ';
var regularText = 'AAAAAAAAaaaaaaaaCcccDEEEEeeeeeeIIIIiiilNnnOOOOOOOooooooUUUUUUuuuuSSYyyZzZzL';
var idoff = -1,new_text = '';
var lentext = a2.toString().length -1
for (i = 0; i <= lentext; i++) {
idoff = accented.search(a2.charAt(i));
if (idoff == -1) {
new_text = new_text + a2.charAt(i);
} else {
new_text = new_text + regularText.charAt(idoff);
}
}
// return new_text;
/* Locate where in the string that contains ":", remove it including spaces and change string to lowercase */
var space = new_text.indexOf(":");
if (space > -1) {
var answer = new_text.substring(space);
answer = answer.replace(/[\.,-\/#!$%\^&\*;:{}=\-_`~()"'+@<>?]/g,"")
answer = answer.replace(/ /g,"");
answer = answer.toLowerCase();
} else {
var answer = new_text;
answer = answer.replace(/[\.,-\/#!$%\^&\*;:{}=\-_`~()"'+@<>?]/g,"")
answer = answer.replace(/ /g,"");
answer = answer.toLowerCase();
}
return answer;
}
如果字符串是这样的ABC-XYZ-LMN (AB12): XxxX Set Çompanÿ
我想把它清理到这个xxxxsetcompany
.
最佳答案
String.prototype.search
需要一个正则表达式,但您传递的是一个字符(字符串)。当您迭代 a2
时,您最终会遇到一个左括号(“AB12”周围的括号)。左括号不是有效的正则表达式。
要解决此问题,您可以使用 String.prototype.includes
相反。
但是,我认为解决您的问题的更优雅的解决方案可能如下所示:
function clean(a2) {
/* if string contains accented letters, index below and use regular text */
const accented = 'ÁÀÂÃÄÄÅÆáàâãäåąÇçćčÐÉÉÊËèéêëðęÍÍÎÏíîïłÑñńÖÓŐÓÔÕØöóőôõøÜŰÙÚÛÜüűúûŠšŸÿýŽžŻżŁ';
const regularText = 'AAAAAAAAaaaaaaaCcccDEEEEeeeeeeIIIIiiilNnnOOOOOOOooooooUUUUUUuuuuSSYyyZzZzL'.split('');
let answer = '';
a2.split('').forEach((char) => {
let accentIndex = accented.indexOf(char);
if (accentIndex > -1) {
answer += regularText[accentIndex];
} else {
answer += char;
}
});
answer = answer.replace(/\W/gi, '');
return answer.toLowerCase();
}
console.log(clean('ABC-XYZ-LMN (AB12): XxxX Set Çompanÿ'));
关于javascript - 语法错误: Unterminated parenthetical,如何处理 "( )",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57910429/
我想创建一个从文本中删除所有不需要的字符的函数。那是我想出的,但是不起作用: var invalid = "^°\"§%()[]{}=\\?´`'#<>|,;.:-+_"; for (var n =
这是我的代码: JSONObject msgObject = JSONObject.fromObject(msg); 然后我得到一个 JSONException: net.sf.json.JSONEx
我正在尝试创建一个简单的 shell 脚本来从磁力链接获取标题并将其写入 .out 文件。 如果我在 regex101.com 上尝试下面的正则表达式,就会成功。请参阅屏幕截图。 &dn=(.*?)&
您好,我正在尝试从 js 加载 html 页面中的一些内容。 js代码(相关)- for(i=0; i'; for(j=0; j";
我想获取应用程序中的行数。我正在使用此代码: find . "(" -name "*.m" -or -name "*.h" ")" -print | xargs wc -l 它在其他应用程序中工作正常
我有一个正则表达式: var regex = /[..·・⋯•。~~〜><'"()%/]`; var regexA = new RegExp(charToFiltered, 'g'); console
我在 sed 命令下运行 sed -i s/abc=.*$/abc=def ghi/g hpq_sf_attach_wf_param.txt 它给了我错误: sed: -e expression #1
我在 jquery 中有以下代码: var user_id = ""; var fb_mail = ""; var google_mail = ""; 上面代码中的错误是语法错误:未终止的字符串文字
为什么我会收到结束 div 元素的错误 Unterminated JSX contents?我做错了什么? export default class Search extends Component
我的脚本可以运行,但有时会因该错误而崩溃: Traceback (most recent call last): File "planetafm.py", line 6, in song
我有一些从 Zend_Form 生成的 HTML 数据。 我想将其附加到 div#wrapper 元素,但我的尝试引发了错误:未终止的字符串文字。 我应该做什么来修复它? 注意:好吧,每个人看起来都假
我在 Internet Explorer 中收到以下错误消息: 网页错误详细信息 User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5
已关闭。这个问题是 not reproducible or was caused by typos 。目前不接受答案。 这个问题是由拼写错误或无法再重现的问题引起的。虽然类似的问题可能是 on-top
在 JSON 解析函数中转义引号时,我遇到了一个常见问题。如果存在转义引号,在本例中为 'test"',它会导致以下错误 'SyntaxError: JSON Parse error: Untermi
我正在使用 jQuery 输出由 PHP 从数据库创建的 JSON 字符串的结果, 唯一的问题是一些数据位于多行...我该如何解决这个问题,导致 JavaScript 中出现未终止的字符串文字错误?
我正在使用 JSON.org java library去修补。 目前由于 \n 个字符,我遇到了一个错误: try{ String s = "{\"property:\":\"
我在下面的代码中遇到了奇怪的错误。 function export_to_excel() { results_html = $('report_excel').innerHTM
这个问题在这里已经有了答案: Why split the tag when writing it with document.write()? (5 个答案) 关闭 5 年前。 我正在使用 ES6
我是 8086 汇编编程的新手,我有一个问题。 我有一个大约 1400 个字符的字符串。当我试图定义它时: .data mystring DB '(string with 1400 character
我有以下模板: Not voted Voted for this concept Voted for another concept 当我尝试运行它时,我得到 Error
我是一名优秀的程序员,十分优秀!