什么是与此方法等效的JavaScriptC#:
var x = "|f|oo||";
var y = x.Trim('|'); // "f|oo"
Run Code Online (Sandbox Code Playgroud)
C#仅在字符串的开头和结尾处修剪所选字符!
我正在做一个简单的代码
String splitString = "122$23$56$rt";
for(int i=0;i<splitString.split("$").length;i++){
System.out.println("I GOT IS :: "+splitString.split("$")[i]);
}
Run Code Online (Sandbox Code Playgroud)
当我分裂的时候
splitString.split("$")
Run Code Online (Sandbox Code Playgroud)
它给了我输出 [122$23$56$rt]
为什么这不是'$'的夹板?
我有一个声明:
我有一个字符串,如
content = "* test *"
Run Code Online (Sandbox Code Playgroud)
我想搜索并替换它,所以当我完成时,字符串包含这个:
content = "(*) test (*)"
Run Code Online (Sandbox Code Playgroud)
我的代码是:
content = Regex.Replace(content, "*", "(*)");
Run Code Online (Sandbox Code Playgroud)
但这会导致C#中的错误,因为它认为*是正则表达式语法的一部分.
如何修改此代码,以便将字符串中的所有星号更改为(*)而不会导致运行时错误?
我希望从包含数字的字符串生成正则表达式,然后将其用作模式来搜索类似的字符串.例:
String s = "Page 3 of 23"
Run Code Online (Sandbox Code Playgroud)
如果我替换所有数字 \d
StringBuilder sb = new StringBuilder();
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if (Character.isDigit(c)) {
sb.append("\\d"); // backslash d
} else {
sb.append(c);
}
}
Pattern numberPattern = Pattern.compile(sb.toString());
// Pattern numberPattern = Pattern.compile("Page \d of \d\d");
Run Code Online (Sandbox Code Playgroud)
我可以用它来匹配类似的字符串(例如"Page 7 of 47").我的问题是,如果我天真地这样做(){}-,一些元字符,如等,将不会被转义.是否有一个库可以执行此操作,或者是正则表达式的详尽字符集,我必须且不能逃避?(我可以尝试从Javadocs中提取它们,但我担心会遗漏一些东西).
或者有一个已经这样做的库(我现在不想使用完整的自然语言处理解决方案).
注意:@ dasblinkenlight编辑的答案现在适合我!
我想转换字符串例如:
String data = "1|apple,2|ball,3|cat";
Run Code Online (Sandbox Code Playgroud)
像这样的二维数组
{{1,apple},{2,ball},{3,cat}}
Run Code Online (Sandbox Code Playgroud)
我试过使用该split("")方法,但仍然没有解决方案:(
谢谢..
凯
C++ 11有6种不同的正则表达式语法可供使用.在我的例子中,我正在与使用修改的ECMAScript正则表达式的组件进行交互.
我需要创建一个正则表达式"匹配以X开头的字符串",其中X是我的字符串文字.
所以我想要的正则表达式是粗略的^X.*.除了字符串X可以包含更多的正则表达式特殊字符,我希望它们发生.
这意味着我真的想要^ escaped(X) .*.
现在,我可以阅读ECMAScript文档,找到具有特殊含义的所有字符,编写一个逃避它们的函数,然后完成.但这似乎不优雅,低效且容易出错 - 特别是如果我想支持当前C++支持的所有6种正则表达式,更不用说将来了.
标准中是否有一种简单的方法可以将文字字符串转换为嵌入C++正则表达式,可能是正则表达式语法的函数,还是我必须自己滚动?
下面是使用boost库的类似问题,其中转义列表是硬编码的,然后生成一个反斜杠的正则表达式.我是否已经缩减为适应该答案std?
我想用"字符串替换^.
String str = "hello \"there";
System.out.println(str);
String str1 = str.replaceAll("\"", "^");
System.out.println(str1);
String str2= str1.replaceAll("^", "\"");
System.out.println(str2);
Run Code Online (Sandbox Code Playgroud)
输出是:
hello "there
hello ^there
"hello ^there
Run Code Online (Sandbox Code Playgroud)
为什么我"在字符串的开头和字符串^之间得到额外的
我期待:
hello "there
Run Code Online (Sandbox Code Playgroud) 我试图匹配+和之间的所有子字符串h,例如+abcd1234h.
match = re.match(r'.*+(.*)h.*',line)
Run Code Online (Sandbox Code Playgroud)
File "C:\Program Files\Python\Python36\lib\re.py", line 172, in match
return _compile(pattern, flags).match(string)
File "C:\Program Files\Python\Python36\lib\re.py", line 301, in _compile
p = sre_compile.compile(pattern, flags)
File "C:\Program Files\Python\Python36\lib\sre_compile.py", line 562, in compi
le
p = sre_parse.parse(p, flags)
File "C:\Program Files\Python\Python36\lib\sre_parse.py", line 855, in parse
p = _parse_sub(source, pattern, flags & SRE_FLAG_VERBOSE, 0)
File "C:\Program Files\Python\Python36\lib\sre_parse.py", line 416, in _parse_
sub
not nested and not items))
File "C:\Program Files\Python\Python36\lib\sre_parse.py", line 619, in _parse …Run Code Online (Sandbox Code Playgroud) regex ×7
java ×4
string ×3
arrays ×1
c# ×1
c++ ×1
c++11 ×1
escaping ×1
javascript ×1
python ×1
python-3.x ×1
replace ×1
replaceall ×1
search ×1
trim ×1