我有一个字符串:" Hello I'm 43 years old, I need 2 burgers each for 1.99$".我需要解析它并获取其中的所有数字double.所以函数应该返回一个值数组,如:43, 2, 1.99.在C++中我应该自己编写,但C#有Regex,我认为它可能在这里有用:
String subjectString = "Hello I'm 43 years old, I need 2 burgers each for 1.99$";
resultString = Regex.Match(subjectString, @"\d+").Value;
double result = double.Parse(resultString);
Run Code Online (Sandbox Code Playgroud)
在此之后,resultString是"43"并且result是43.0.如何解析字符串以获得更多数字?
我想以递归方式查找与目录中特定模式匹配的所有文件(包括子目录).我写了代码来做到这一点:
libRegEx, e := regexp.Compile("^.+\\.(dylib)$")
if e != nil {
log.Fatal(e)
}
files, err := ioutil.ReadDir("/usr/lib")
if err != nil {
log.Fatal(err)
}
for _, f := range files {
if libRegEx.MatchString(f.Name()) {
println(f.Name())
}
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,它只搜索/usr/bin,但我也想在其子目录中搜索匹配项.我怎样才能做到这一点?谢谢.
我有一个可垂直滚动的TextArea(wrapText是true),我想显示其滚动百分比.我创建了一个这样的监听器:
textArea.scrollTopProperty().addListener(new ChangeListener<Number>() {
@Override
public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue) {
final float percentage = newValue / denominator * 100.0f;
System.out.println("Scroll top: " + percentage);
}
});
Run Code Online (Sandbox Code Playgroud)
所以看起来我需要检索一些属性来使用它denominator.任何帮助将不胜感激!谢谢.
仅仅为了举例,我写了这样的:
public class MyClass
{
private int MyMethod()
{
return 1;
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法使用Reflection或其他东西将MyClass::MyMethod()运行时的访问修饰符更改为public然后调用它?
我写了我的malloc实现(让它调用mymalloc(size_t)),收集其他信息并将其保存到列表中.现在我需要重载operator new以使其工作mymalloc(size_t),而不是malloc(size_t).在VS2010中我发现了这个实现operator new:
void *__CRTDECL operator new(size_t size) _THROW1(_STD bad_alloc)
{ // try to allocate size bytes
void *p;
while ((p = malloc(size)) == 0)
if (_callnewh(size) == 0)
{ // report no memory
static const std::bad_alloc nomem;
_RAISE(nomem);
}
return (p);
}
Run Code Online (Sandbox Code Playgroud)
请参阅:placement new此代码中没有!然后我的问题是:如何过载operator new与mymalloc内存分配函数,使其调用构造函数?
我需要找到以斜杠符号开头并以斜杠符号结尾的子字符串.
string sourceStr = "assets/Level 1/diffuse;
Run Code Online (Sandbox Code Playgroud)
正则表达式的输出必须是" 1级 "
我发现这个正则表达式,^"\"(.+)"\"$但似乎它不能按我想要的方式工作.有任何想法吗?
我有这样的代码:
package x.y.z;
public class Test
{
private static class MyRunnable implements Runnable
{
@Override
public void run()
{
System.out.println("World");
}
}
public static void main(String[] args)
{
final Runnable r1 = new Runnable() {
@Override
public void run()
{
System.out.println("Hello");
}
};
final Runnable r2 = new MyRunnable();
r1.run();
r2.run();
}
}
Run Code Online (Sandbox Code Playgroud)
我正在研究一些代码分析模块,我想证明这r1是一个匿名类实例而r2不是.它们都是具有相同基类或接口的有效对象.我怎样才能做到这一点?
细化:正在加载所有类,因此我不需要分析文本.
在功能
int foo(int i, int j)
{
return i + j;
}
Run Code Online (Sandbox Code Playgroud)
既i和j未初始化,所以这个函数可以用,只用两个参数来调用:
foo(5, 6); // 11
Run Code Online (Sandbox Code Playgroud)
好的,但是C++有默认参数,并且可能的定义如下:
int foo(int i = 1, int j = 2)
{
return i + j;
}
Run Code Online (Sandbox Code Playgroud)
这里既有i和j具有默认参数,然后调用:
foo(5, 6); // 11
foo(5); // 7
foo(); // 3
Run Code Online (Sandbox Code Playgroud)
是可能的.那么,为什么这个定义:
int foo(int i += 1, int j += 2)
{
return i + j;
}
Run Code Online (Sandbox Code Playgroud)
这些电话:
foo(5, 6); // 14
foo(5); // 8
foo(); // …Run Code Online (Sandbox Code Playgroud)